From 8c5212d5ffb35eadeb10b295ac71e3d739a52fcb Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 29 May 2021 13:55:45 +0200 Subject: [PATCH] Updated HTML docs --- docs/0.9.5/.buildinfo | 2 +- .../_modules/django/utils/functional.html | 524 ------- .../_modules/evennia/accounts/accounts.html | 55 +- .../_modules/evennia/accounts/admin.html | 468 ------ .../0.9.5/_modules/evennia/accounts/bots.html | 5 +- .../_modules/evennia/accounts/models.html | 9 +- .../_modules/evennia/commands/cmdhandler.html | 85 +- .../_modules/evennia/commands/cmdset.html | 8 +- .../evennia/commands/cmdsethandler.html | 32 +- .../_modules/evennia/commands/command.html | 1 + .../evennia/commands/default/account.html | 2 +- .../evennia/commands/default/general.html | 2 +- .../evennia/commands/default/help.html | 1 - docs/0.9.5/_modules/evennia/comms/admin.html | 226 --- docs/0.9.5/_modules/evennia/comms/comms.html | 23 +- .../_modules/evennia/comms/managers.html | 1 - docs/0.9.5/_modules/evennia/comms/models.html | 92 +- docs/0.9.5/_modules/evennia/help/admin.html | 159 -- docs/0.9.5/_modules/evennia/help/manager.html | 3 +- docs/0.9.5/_modules/evennia/help/models.html | 60 +- .../_modules/evennia/locks/lockfuncs.html | 101 +- .../_modules/evennia/locks/lockhandler.html | 48 +- .../0.9.5/_modules/evennia/objects/admin.html | 300 ---- .../_modules/evennia/objects/manager.html | 5 +- .../_modules/evennia/objects/models.html | 24 +- .../_modules/evennia/objects/objects.html | 121 +- .../evennia/prototypes/protfuncs.html | 2 - .../evennia/prototypes/prototypes.html | 93 +- .../_modules/evennia/prototypes/spawner.html | 25 +- .../0.9.5/_modules/evennia/scripts/admin.html | 194 --- .../_modules/evennia/scripts/models.html | 2 +- .../evennia/scripts/monitorhandler.html | 2 + .../_modules/evennia/scripts/scripts.html | 4 +- .../_modules/evennia/scripts/taskhandler.html | 64 +- docs/0.9.5/_modules/evennia/server/admin.html | 128 -- .../_modules/evennia/server/deprecations.html | 20 +- .../evennia/server/initial_setup.html | 14 +- .../0.9.5/_modules/evennia/server/models.html | 8 +- .../_modules/evennia/server/portal/amp.html | 20 +- .../evennia/server/portal/amp_server.html | 5 +- .../evennia/server/portal/grapevine.html | 2 +- .../evennia/server/portal/portal.html | 21 +- .../server/portal/portalsessionhandler.html | 22 +- .../_modules/evennia/server/portal/rss.html | 1 + .../_modules/evennia/server/portal/ssh.html | 17 +- .../_modules/evennia/server/portal/ssl.html | 11 +- .../evennia/server/portal/telnet.html | 29 +- .../evennia/server/portal/telnet_ssl.html | 21 +- .../evennia/server/portal/webclient.html | 3 +- .../evennia/server/portal/webclient_ajax.html | 8 +- .../0.9.5/_modules/evennia/server/server.html | 15 +- .../evennia/server/serversession.html | 25 +- .../evennia/server/sessionhandler.html | 67 +- .../_modules/evennia/server/throttle.html | 69 +- .../_modules/evennia/server/validators.html | 4 +- .../_modules/evennia/typeclasses/admin.html | 447 ------ .../evennia/typeclasses/attributes.html | 60 +- .../evennia/typeclasses/managers.html | 18 +- .../_modules/evennia/typeclasses/models.html | 97 +- .../_modules/evennia/typeclasses/tags.html | 20 +- docs/0.9.5/_modules/evennia/utils/ansi.html | 30 +- .../evennia/utils/batchprocessors.html | 2 +- .../_modules/evennia/utils/containers.html | 7 +- .../_modules/evennia/utils/dbserialize.html | 2 +- .../_modules/evennia/utils/eveditor.html | 172 ++- docs/0.9.5/_modules/evennia/utils/evmenu.html | 62 +- docs/0.9.5/_modules/evennia/utils/evmore.html | 17 +- .../0.9.5/_modules/evennia/utils/evtable.html | 23 +- .../_modules/evennia/utils/gametime.html | 1 - .../evennia/utils/idmapper/models.html | 22 +- docs/0.9.5/_modules/evennia/utils/logger.html | 20 +- .../_modules/evennia/utils/optionhandler.html | 11 +- docs/0.9.5/_modules/evennia/utils/search.html | 5 +- docs/0.9.5/_modules/evennia/utils/utils.html | 60 +- .../evennia/utils/validatorfuncs.html | 72 +- .../evennia/web/utils/general_context.html | 70 +- .../_modules/evennia/web/utils/tests.html | 9 +- .../_modules/evennia/web/website/forms.html | 2 +- .../_modules/evennia/web/website/views.html | 1235 --------------- docs/0.9.5/_modules/index.html | 10 - docs/0.9.5/_static/nature.css | 3 +- docs/0.9.5/api/evennia-api.html | 5 +- docs/0.9.5/api/evennia.accounts.accounts.html | 7 +- docs/0.9.5/api/evennia.accounts.admin.html | 306 +--- .../api/evennia.commands.cmdsethandler.html | 8 +- .../api/evennia.commands.default.account.html | 4 +- .../api/evennia.commands.default.admin.html | 4 +- ...evennia.commands.default.batchprocess.html | 4 +- .../evennia.commands.default.building.html | 4 +- .../api/evennia.commands.default.comms.html | 4 +- .../api/evennia.commands.default.general.html | 12 +- .../api/evennia.commands.default.system.html | 8 +- .../evennia.commands.default.unloggedin.html | 8 +- docs/0.9.5/api/evennia.comms.admin.html | 195 +-- docs/0.9.5/api/evennia.comms.comms.html | 30 +- docs/0.9.5/api/evennia.comms.models.html | 5 +- .../api/evennia.contrib.email_login.html | 8 +- ...vennia.contrib.ingame_python.commands.html | 4 +- docs/0.9.5/api/evennia.contrib.rpsystem.html | 8 +- ....contrib.tutorial_examples.red_button.html | 12 +- ...vennia.contrib.tutorial_world.objects.html | 16 +- .../evennia.contrib.tutorial_world.rooms.html | 4 +- docs/0.9.5/api/evennia.help.admin.html | 132 +- docs/0.9.5/api/evennia.help.models.html | 72 +- docs/0.9.5/api/evennia.html | 5 +- docs/0.9.5/api/evennia.locks.html | 5 +- docs/0.9.5/api/evennia.locks.lockfuncs.html | 123 +- docs/0.9.5/api/evennia.objects.admin.html | 265 +--- docs/0.9.5/api/evennia.objects.objects.html | 24 +- .../0.9.5/api/evennia.prototypes.spawner.html | 6 +- docs/0.9.5/api/evennia.scripts.admin.html | 130 +- .../api/evennia.scripts.taskhandler.html | 5 +- docs/0.9.5/api/evennia.server.admin.html | 53 +- docs/0.9.5/api/evennia.server.portal.amp.html | 4 +- ...ia.server.portal.portalsessionhandler.html | 2 +- .../api/evennia.server.portal.telnet.html | 6 +- .../evennia.server.portal.webclient_ajax.html | 5 + docs/0.9.5/api/evennia.server.server.html | 2 +- .../api/evennia.server.sessionhandler.html | 23 +- docs/0.9.5/api/evennia.typeclasses.admin.html | 297 +--- .../api/evennia.typeclasses.attributes.html | 36 +- .../0.9.5/api/evennia.typeclasses.models.html | 104 +- docs/0.9.5/api/evennia.typeclasses.tags.html | 5 +- docs/0.9.5/api/evennia.utils.ansi.html | 4 +- docs/0.9.5/api/evennia.utils.eveditor.html | 6 +- docs/0.9.5/api/evennia.utils.evmenu.html | 32 +- docs/0.9.5/api/evennia.utils.evmore.html | 13 +- docs/0.9.5/api/evennia.utils.evtable.html | 5 +- docs/0.9.5/api/evennia.utils.logger.html | 26 +- docs/0.9.5/api/evennia.utils.utils.html | 27 +- .../api/evennia.utils.validatorfuncs.html | 21 +- docs/0.9.5/api/evennia.web.html | 6 +- docs/0.9.5/api/evennia.web.urls.html | 15 + .../evennia.web.utils.general_context.html | 8 +- .../0.9.5/api/evennia.web.webclient.urls.html | 3 +- ...nia.web.website.templatetags.addclass.html | 11 +- .../api/evennia.web.website.templatetags.html | 2 +- docs/0.9.5/api/evennia.web.website.urls.html | 2 +- docs/0.9.5/api/evennia.web.website.views.html | 788 +--------- docs/0.9.5/genindex.html | 864 +---------- docs/0.9.5/objects.inv | Bin 72880 -> 70777 bytes docs/0.9.5/py-modindex.html | 40 - docs/0.9.5/searchindex.js | 2 +- docs/1.0-dev/.buildinfo | 2 +- docs/1.0-dev/Components/Locks.html | 151 +- docs/1.0-dev/Components/Permissions.html | 240 +++ docs/1.0-dev/Components/Web-API.html | 231 +++ docs/1.0-dev/Components/Web-Admin.html | 284 ++++ docs/1.0-dev/Components/Webclient.html | 16 +- docs/1.0-dev/Components/Webserver.html | 81 +- docs/1.0-dev/Components/Website.html | 542 +++++++ .../Concepts/Internationalization.html | 137 +- docs/1.0-dev/Setup/HAProxy-Config.html | 289 +++- .../_modules/evennia/accounts/accounts.html | 55 +- .../_modules/evennia/accounts/bots.html | 5 +- .../_modules/evennia/accounts/models.html | 9 +- .../_modules/evennia/commands/cmdhandler.html | 85 +- .../_modules/evennia/commands/cmdset.html | 8 +- .../evennia/commands/cmdsethandler.html | 32 +- .../_modules/evennia/commands/command.html | 1 + .../evennia/commands/default/account.html | 2 +- .../evennia/commands/default/general.html | 2 +- .../evennia/commands/default/help.html | 1 - .../1.0-dev/_modules/evennia/comms/admin.html | 228 --- .../1.0-dev/_modules/evennia/comms/comms.html | 23 +- .../_modules/evennia/comms/managers.html | 1 - .../_modules/evennia/comms/models.html | 92 +- .../_modules/evennia/help/filehelp.html | 20 +- .../_modules/evennia/help/manager.html | 3 +- .../1.0-dev/_modules/evennia/help/models.html | 60 +- docs/1.0-dev/_modules/evennia/help/utils.html | 1 - .../_modules/evennia/locks/lockfuncs.html | 101 +- .../_modules/evennia/locks/lockhandler.html | 48 +- .../_modules/evennia/objects/admin.html | 302 ---- .../_modules/evennia/objects/manager.html | 5 +- .../_modules/evennia/objects/models.html | 24 +- .../_modules/evennia/objects/objects.html | 121 +- .../evennia/prototypes/protfuncs.html | 2 - .../evennia/prototypes/prototypes.html | 93 +- .../_modules/evennia/prototypes/spawner.html | 25 +- .../_modules/evennia/scripts/admin.html | 196 --- .../_modules/evennia/scripts/models.html | 2 +- .../evennia/scripts/monitorhandler.html | 2 + .../_modules/evennia/scripts/scripts.html | 4 +- .../_modules/evennia/scripts/taskhandler.html | 64 +- .../_modules/evennia/server/deprecations.html | 20 +- .../evennia/server/initial_setup.html | 14 +- .../_modules/evennia/server/models.html | 8 +- .../_modules/evennia/server/portal/amp.html | 20 +- .../evennia/server/portal/amp_server.html | 5 +- .../evennia/server/portal/grapevine.html | 2 +- .../evennia/server/portal/portal.html | 21 +- .../server/portal/portalsessionhandler.html | 22 +- .../_modules/evennia/server/portal/rss.html | 1 + .../_modules/evennia/server/portal/ssh.html | 17 +- .../_modules/evennia/server/portal/ssl.html | 11 +- .../evennia/server/portal/telnet.html | 29 +- .../evennia/server/portal/telnet_ssl.html | 21 +- .../evennia/server/portal/webclient.html | 3 +- .../evennia/server/portal/webclient_ajax.html | 8 +- .../_modules/evennia/server/server.html | 15 +- .../evennia/server/serversession.html | 25 +- .../evennia/server/sessionhandler.html | 67 +- .../_modules/evennia/server/throttle.html | 69 +- .../_modules/evennia/server/validators.html | 4 +- .../_modules/evennia/typeclasses/admin.html | 449 ------ .../evennia/typeclasses/attributes.html | 60 +- .../evennia/typeclasses/managers.html | 18 +- .../_modules/evennia/typeclasses/models.html | 97 +- .../_modules/evennia/typeclasses/tags.html | 20 +- docs/1.0-dev/_modules/evennia/utils/ansi.html | 30 +- .../evennia/utils/batchprocessors.html | 2 +- .../_modules/evennia/utils/containers.html | 7 +- .../_modules/evennia/utils/dbserialize.html | 2 +- .../_modules/evennia/utils/eveditor.html | 172 ++- .../_modules/evennia/utils/evmenu.html | 62 +- .../_modules/evennia/utils/evmore.html | 17 +- .../_modules/evennia/utils/evtable.html | 23 +- .../_modules/evennia/utils/funcparser.html | 17 +- .../_modules/evennia/utils/gametime.html | 1 - .../evennia/utils/idmapper/models.html | 22 +- .../_modules/evennia/utils/logger.html | 20 +- .../_modules/evennia/utils/optionhandler.html | 11 +- .../_modules/evennia/utils/search.html | 5 +- .../1.0-dev/_modules/evennia/utils/utils.html | 60 +- .../evennia/utils/validatorfuncs.html | 72 +- .../admin.html => web/admin/accounts.html} | 406 ++--- .../evennia/web/admin/attributes.html | 312 ++++ .../_modules/evennia/web/admin/comms.html | 389 +++++ .../_modules/evennia/web/admin/frontpage.html | 132 ++ .../{help/admin.html => web/admin/help.html} | 91 +- .../_modules/evennia/web/admin/objects.html | 456 ++++++ .../_modules/evennia/web/admin/scripts.html | 265 ++++ .../admin.html => web/admin/server.html} | 74 +- .../_modules/evennia/web/admin/tags.html | 339 +++++ .../_modules/evennia/web/admin/utils.html | 184 +++ .../_modules/evennia/web/api/filters.html | 32 +- .../_modules/evennia/web/api/permissions.html | 19 +- .../_modules/evennia/web/api/root.html | 122 ++ .../_modules/evennia/web/api/serializers.html | 123 +- .../_modules/evennia/web/api/tests.html | 15 +- .../_modules/evennia/web/api/views.html | 134 +- .../{website => }/templatetags/addclass.html | 58 +- .../_modules/evennia/web/utils/adminsite.html | 142 ++ .../evennia/web/utils/general_context.html | 70 +- .../_modules/evennia/web/utils/tests.html | 9 +- .../_modules/evennia/web/website/forms.html | 2 +- .../_modules/evennia/web/website/views.html | 1237 --------------- .../evennia/web/website/views/accounts.html | 181 +++ .../evennia/web/website/views/channels.html | 280 ++++ .../evennia/web/website/views/characters.html | 359 +++++ .../evennia/web/website/views/errors.html} | 45 +- .../evennia/web/website/views/help.html | 267 ++++ .../evennia/web/website/views/index.html | 219 +++ .../evennia/web/website/views/mixins.html | 196 +++ .../evennia/web/website/views/objects.html | 373 +++++ docs/1.0-dev/_modules/index.html | 30 +- docs/1.0-dev/_sources/Components/Locks.md.txt | 165 +- .../_sources/Components/Permissions.md.txt | 118 ++ .../_sources/Components/Web-API.md.txt | 136 ++ .../_sources/Components/Web-Admin.md.txt | 158 ++ .../_sources/Components/Webclient.md.txt | 4 +- .../_sources/Components/Webserver.md.txt | 72 +- .../_sources/Components/Website.md.txt | 420 +++++ .../Concepts/Internationalization.md.txt | 134 +- .../_sources/Setup/HAProxy-Config.md.txt | 255 +++- .../_sources/api/evennia.accounts.rst.txt | 1 - .../_sources/api/evennia.comms.admin.rst.txt | 7 - .../_sources/api/evennia.comms.rst.txt | 1 - .../_sources/api/evennia.help.admin.rst.txt | 7 - .../1.0-dev/_sources/api/evennia.help.rst.txt | 1 - .../api/evennia.objects.admin.rst.txt | 7 - .../_sources/api/evennia.objects.rst.txt | 1 - .../api/evennia.scripts.admin.rst.txt | 7 - .../_sources/api/evennia.scripts.rst.txt | 1 - .../_sources/api/evennia.server.rst.txt | 1 - .../_sources/api/evennia.typeclasses.rst.txt | 1 - .../api/evennia.web.admin.accounts.rst.txt | 7 + .../api/evennia.web.admin.attributes.rst.txt | 7 + .../api/evennia.web.admin.comms.rst.txt | 7 + .../api/evennia.web.admin.frontpage.rst.txt | 7 + ...rst.txt => evennia.web.admin.help.rst.txt} | 4 +- ....txt => evennia.web.admin.objects.rst.txt} | 4 +- .../_sources/api/evennia.web.admin.rst.txt | 24 + .../api/evennia.web.admin.scripts.rst.txt | 7 + .../api/evennia.web.admin.server.rst.txt | 7 + .../api/evennia.web.admin.tags.rst.txt | 7 + .../api/evennia.web.admin.urls.rst.txt | 7 + .../api/evennia.web.admin.utils.rst.txt | 7 + ...n.rst.txt => evennia.web.api.root.rst.txt} | 4 +- .../_sources/api/evennia.web.api.rst.txt | 1 + docs/1.0-dev/_sources/api/evennia.web.rst.txt | 2 + .../evennia.web.templatetags.addclass.rst.txt | 7 + .../api/evennia.web.templatetags.rst.txt | 14 + .../api/evennia.web.utils.adminsite.rst.txt | 7 + .../_sources/api/evennia.web.utils.rst.txt | 1 + .../_sources/api/evennia.web.website.rst.txt | 3 +- ....web.website.templatetags.addclass.rst.txt | 7 - .../evennia.web.website.templatetags.rst.txt | 14 - ...evennia.web.website.views.accounts.rst.txt | 7 + ...evennia.web.website.views.channels.rst.txt | 7 + ...ennia.web.website.views.characters.rst.txt | 7 + .../evennia.web.website.views.errors.rst.txt | 7 + .../evennia.web.website.views.help.rst.txt | 7 + .../evennia.web.website.views.index.rst.txt | 7 + .../evennia.web.website.views.mixins.rst.txt | 7 + .../evennia.web.website.views.objects.rst.txt | 7 + .../api/evennia.web.website.views.rst.txt | 16 +- docs/1.0-dev/_sources/toc.md.txt | 4 + docs/1.0-dev/_static/nature.css | 3 +- docs/1.0-dev/api/evennia-api.html | 44 +- .../api/evennia.accounts.accounts.html | 7 +- docs/1.0-dev/api/evennia.accounts.admin.html | 411 ----- docs/1.0-dev/api/evennia.accounts.html | 1 - .../api/evennia.commands.cmdsethandler.html | 8 +- .../api/evennia.commands.default.account.html | 4 +- ...evennia.commands.default.batchprocess.html | 4 +- .../evennia.commands.default.building.html | 12 +- .../api/evennia.commands.default.comms.html | 4 +- .../api/evennia.commands.default.general.html | 8 +- .../api/evennia.commands.default.system.html | 4 +- .../evennia.commands.default.unloggedin.html | 16 +- docs/1.0-dev/api/evennia.comms.admin.html | 300 ---- docs/1.0-dev/api/evennia.comms.comms.html | 30 +- docs/1.0-dev/api/evennia.comms.html | 1 - docs/1.0-dev/api/evennia.comms.models.html | 5 +- .../1.0-dev/api/evennia.contrib.clothing.html | 4 +- .../api/evennia.contrib.email_login.html | 16 +- .../evennia.contrib.evscaperoom.commands.html | 20 +- ....contrib.tutorial_examples.red_button.html | 16 +- ...vennia.contrib.tutorial_world.objects.html | 12 +- .../evennia.contrib.tutorial_world.rooms.html | 8 +- docs/1.0-dev/api/evennia.help.filehelp.html | 12 +- docs/1.0-dev/api/evennia.help.html | 1 - docs/1.0-dev/api/evennia.help.models.html | 72 +- docs/1.0-dev/api/evennia.html | 44 +- docs/1.0-dev/api/evennia.locks.html | 5 +- docs/1.0-dev/api/evennia.locks.lockfuncs.html | 123 +- docs/1.0-dev/api/evennia.objects.admin.html | 370 ----- docs/1.0-dev/api/evennia.objects.html | 1 - docs/1.0-dev/api/evennia.objects.objects.html | 24 +- .../api/evennia.prototypes.spawner.html | 6 +- docs/1.0-dev/api/evennia.scripts.admin.html | 235 --- docs/1.0-dev/api/evennia.scripts.html | 1 - .../api/evennia.scripts.taskhandler.html | 5 +- docs/1.0-dev/api/evennia.server.html | 1 - .../api/evennia.server.portal.amp.html | 4 +- ...ia.server.portal.portalsessionhandler.html | 2 +- .../api/evennia.server.portal.telnet.html | 6 +- .../evennia.server.portal.webclient_ajax.html | 5 + docs/1.0-dev/api/evennia.server.server.html | 2 +- .../api/evennia.server.sessionhandler.html | 23 +- .../api/evennia.typeclasses.admin.html | 402 ----- .../api/evennia.typeclasses.attributes.html | 36 +- docs/1.0-dev/api/evennia.typeclasses.html | 1 - .../api/evennia.typeclasses.models.html | 104 +- .../1.0-dev/api/evennia.typeclasses.tags.html | 5 +- docs/1.0-dev/api/evennia.utils.ansi.html | 4 +- docs/1.0-dev/api/evennia.utils.eveditor.html | 6 +- docs/1.0-dev/api/evennia.utils.evmenu.html | 32 +- docs/1.0-dev/api/evennia.utils.evmore.html | 13 +- docs/1.0-dev/api/evennia.utils.evtable.html | 5 +- docs/1.0-dev/api/evennia.utils.logger.html | 26 +- docs/1.0-dev/api/evennia.utils.utils.html | 27 +- .../api/evennia.utils.validatorfuncs.html | 21 +- .../api/evennia.web.admin.accounts.html | 495 ++++++ .../api/evennia.web.admin.attributes.html | 254 ++++ docs/1.0-dev/api/evennia.web.admin.comms.html | 495 ++++++ .../api/evennia.web.admin.frontpage.html | 124 ++ ...admin.html => evennia.web.admin.help.html} | 122 +- docs/1.0-dev/api/evennia.web.admin.html | 127 ++ .../api/evennia.web.admin.objects.html | 415 +++++ .../api/evennia.web.admin.scripts.html | 297 ++++ ...min.html => evennia.web.admin.server.html} | 54 +- docs/1.0-dev/api/evennia.web.admin.tags.html | 339 +++++ docs/1.0-dev/api/evennia.web.admin.urls.html | 113 ++ docs/1.0-dev/api/evennia.web.admin.utils.html | 152 ++ docs/1.0-dev/api/evennia.web.api.filters.html | 21 +- docs/1.0-dev/api/evennia.web.api.html | 1 + .../api/evennia.web.api.permissions.html | 7 +- docs/1.0-dev/api/evennia.web.api.root.html | 131 ++ .../api/evennia.web.api.serializers.html | 174 ++- docs/1.0-dev/api/evennia.web.api.tests.html | 2 +- docs/1.0-dev/api/evennia.web.api.urls.html | 4 +- docs/1.0-dev/api/evennia.web.api.views.html | 149 +- docs/1.0-dev/api/evennia.web.html | 38 +- ...=> evennia.web.templatetags.addclass.html} | 20 +- ...ags.html => evennia.web.templatetags.html} | 18 +- docs/1.0-dev/api/evennia.web.urls.html | 15 + .../api/evennia.web.utils.adminsite.html | 153 ++ .../evennia.web.utils.general_context.html | 8 +- docs/1.0-dev/api/evennia.web.utils.html | 1 + .../api/evennia.web.webclient.urls.html | 3 +- docs/1.0-dev/api/evennia.web.website.html | 12 +- .../1.0-dev/api/evennia.web.website.urls.html | 2 +- .../evennia.web.website.views.accounts.html | 159 ++ .../evennia.web.website.views.channels.html | 234 +++ .../evennia.web.website.views.characters.html | 325 ++++ .../api/evennia.web.website.views.errors.html | 119 ++ .../api/evennia.web.website.views.help.html | 203 +++ .../api/evennia.web.website.views.html | 800 +--------- .../api/evennia.web.website.views.index.html | 160 ++ .../api/evennia.web.website.views.mixins.html | 186 +++ .../evennia.web.website.views.objects.html | 284 ++++ docs/1.0-dev/genindex.html | 1345 +++++++++++------ docs/1.0-dev/objects.inv | Bin 85267 -> 87127 bytes docs/1.0-dev/py-modindex.html | 165 +- docs/1.0-dev/searchindex.js | 2 +- docs/1.0-dev/toc.html | 15 +- 409 files changed, 17441 insertions(+), 15857 deletions(-) delete mode 100644 docs/0.9.5/_modules/django/utils/functional.html delete mode 100644 docs/0.9.5/_modules/evennia/accounts/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/comms/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/help/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/objects/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/scripts/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/server/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/typeclasses/admin.html delete mode 100644 docs/0.9.5/_modules/evennia/web/website/views.html create mode 100644 docs/1.0-dev/Components/Permissions.html create mode 100644 docs/1.0-dev/Components/Web-API.html create mode 100644 docs/1.0-dev/Components/Web-Admin.html create mode 100644 docs/1.0-dev/Components/Website.html delete mode 100644 docs/1.0-dev/_modules/evennia/comms/admin.html delete mode 100644 docs/1.0-dev/_modules/evennia/objects/admin.html delete mode 100644 docs/1.0-dev/_modules/evennia/scripts/admin.html delete mode 100644 docs/1.0-dev/_modules/evennia/typeclasses/admin.html rename docs/1.0-dev/_modules/evennia/{accounts/admin.html => web/admin/accounts.html} (53%) create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/attributes.html create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/comms.html create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/frontpage.html rename docs/1.0-dev/_modules/evennia/{help/admin.html => web/admin/help.html} (56%) create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/objects.html create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/scripts.html rename docs/1.0-dev/_modules/evennia/{server/admin.html => web/admin/server.html} (56%) create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/tags.html create mode 100644 docs/1.0-dev/_modules/evennia/web/admin/utils.html create mode 100644 docs/1.0-dev/_modules/evennia/web/api/root.html rename docs/1.0-dev/_modules/evennia/web/{website => }/templatetags/addclass.html (65%) create mode 100644 docs/1.0-dev/_modules/evennia/web/utils/adminsite.html delete mode 100644 docs/1.0-dev/_modules/evennia/web/website/views.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/accounts.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/channels.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/characters.html rename docs/{0.9.5/_modules/evennia/web/website/templatetags/addclass.html => 1.0-dev/_modules/evennia/web/website/views/errors.html} (56%) create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/help.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/index.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/mixins.html create mode 100644 docs/1.0-dev/_modules/evennia/web/website/views/objects.html create mode 100644 docs/1.0-dev/_sources/Components/Permissions.md.txt create mode 100644 docs/1.0-dev/_sources/Components/Web-API.md.txt create mode 100644 docs/1.0-dev/_sources/Components/Web-Admin.md.txt create mode 100644 docs/1.0-dev/_sources/Components/Website.md.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.comms.admin.rst.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.help.admin.rst.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.objects.admin.rst.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.scripts.admin.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.accounts.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.attributes.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.comms.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.frontpage.rst.txt rename docs/1.0-dev/_sources/api/{evennia.accounts.admin.rst.txt => evennia.web.admin.help.rst.txt} (57%) rename docs/1.0-dev/_sources/api/{evennia.typeclasses.admin.rst.txt => evennia.web.admin.objects.rst.txt} (56%) create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.scripts.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.server.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.tags.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.urls.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.admin.utils.rst.txt rename docs/1.0-dev/_sources/api/{evennia.server.admin.rst.txt => evennia.web.api.root.rst.txt} (58%) create mode 100644 docs/1.0-dev/_sources/api/evennia.web.templatetags.addclass.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.templatetags.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.utils.adminsite.rst.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.templatetags.addclass.rst.txt delete mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.templatetags.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.accounts.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.channels.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.characters.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.errors.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.help.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.index.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.mixins.rst.txt create mode 100644 docs/1.0-dev/_sources/api/evennia.web.website.views.objects.rst.txt delete mode 100644 docs/1.0-dev/api/evennia.accounts.admin.html delete mode 100644 docs/1.0-dev/api/evennia.comms.admin.html delete mode 100644 docs/1.0-dev/api/evennia.objects.admin.html delete mode 100644 docs/1.0-dev/api/evennia.scripts.admin.html delete mode 100644 docs/1.0-dev/api/evennia.typeclasses.admin.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.accounts.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.attributes.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.comms.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.frontpage.html rename docs/1.0-dev/api/{evennia.help.admin.html => evennia.web.admin.help.html} (52%) create mode 100644 docs/1.0-dev/api/evennia.web.admin.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.objects.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.scripts.html rename docs/1.0-dev/api/{evennia.server.admin.html => evennia.web.admin.server.html} (66%) create mode 100644 docs/1.0-dev/api/evennia.web.admin.tags.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.urls.html create mode 100644 docs/1.0-dev/api/evennia.web.admin.utils.html create mode 100644 docs/1.0-dev/api/evennia.web.api.root.html rename docs/1.0-dev/api/{evennia.web.website.templatetags.addclass.html => evennia.web.templatetags.addclass.html} (74%) rename docs/1.0-dev/api/{evennia.web.website.templatetags.html => evennia.web.templatetags.html} (84%) create mode 100644 docs/1.0-dev/api/evennia.web.utils.adminsite.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.accounts.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.channels.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.characters.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.errors.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.help.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.index.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.mixins.html create mode 100644 docs/1.0-dev/api/evennia.web.website.views.objects.html diff --git a/docs/0.9.5/.buildinfo b/docs/0.9.5/.buildinfo index f855078308..05a8f66893 100644 --- a/docs/0.9.5/.buildinfo +++ b/docs/0.9.5/.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: 054f7d0b1ad8486dd21562efb883fadf +config: 4923d4871507da15032d9594d46e6c3a tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/0.9.5/_modules/django/utils/functional.html b/docs/0.9.5/_modules/django/utils/functional.html deleted file mode 100644 index 8241654916..0000000000 --- a/docs/0.9.5/_modules/django/utils/functional.html +++ /dev/null @@ -1,524 +0,0 @@ - - - - - - - - django.utils.functional — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for django.utils.functional

-import copy
-import itertools
-import operator
-from functools import total_ordering, wraps
-
-
-class cached_property:
-    """
-    Decorator that converts a method with a single self argument into a
-    property cached on the instance.
-
-    A cached property can be made out of an existing method:
-    (e.g. ``url = cached_property(get_absolute_url)``).
-    The optional ``name`` argument is obsolete as of Python 3.6 and will be
-    deprecated in Django 4.0 (#30127).
-    """
-    name = None
-
-    @staticmethod
-    def func(instance):
-        raise TypeError(
-            'Cannot use cached_property instance without calling '
-            '__set_name__() on it.'
-        )
-
-    def __init__(self, func, name=None):
-        self.real_func = func
-        self.__doc__ = getattr(func, '__doc__')
-
-    def __set_name__(self, owner, name):
-        if self.name is None:
-            self.name = name
-            self.func = self.real_func
-        elif name != self.name:
-            raise TypeError(
-                "Cannot assign the same cached_property to two different names "
-                "(%r and %r)." % (self.name, name)
-            )
-
-    def __get__(self, instance, cls=None):
-        """
-        Call the function and put the return value in instance.__dict__ so that
-        subsequent attribute access on the instance returns the cached value
-        instead of calling cached_property.__get__().
-        """
-        if instance is None:
-            return self
-        res = instance.__dict__[self.name] = self.func(instance)
-        return res
-
-
-class classproperty:
-    """
-    Decorator that converts a method with a single cls argument into a property
-    that can be accessed directly from the class.
-    """
-    def __init__(self, method=None):
-        self.fget = method
-
-    def __get__(self, instance, cls=None):
-        return self.fget(cls)
-
-    def getter(self, method):
-        self.fget = method
-        return self
-
-
-class Promise:
-    """
-    Base class for the proxy class created in the closure of the lazy function.
-    It's used to recognize promises in code.
-    """
-    pass
-
-
-def lazy(func, *resultclasses):
-    """
-    Turn any callable into a lazy evaluated callable. result classes or types
-    is required -- at least one is needed so that the automatic forcing of
-    the lazy evaluation code is triggered. Results are not memoized; the
-    function is evaluated on every access.
-    """
-
-    @total_ordering
-    class __proxy__(Promise):
-        """
-        Encapsulate a function call and act as a proxy for methods that are
-        called on the result of that function. The function is not evaluated
-        until one of the methods on the result is called.
-        """
-        __prepared = False
-
-        def __init__(self, args, kw):
-            self.__args = args
-            self.__kw = kw
-            if not self.__prepared:
-                self.__prepare_class__()
-            self.__class__.__prepared = True
-
-        def __reduce__(self):
-            return (
-                _lazy_proxy_unpickle,
-                (func, self.__args, self.__kw) + resultclasses
-            )
-
-        def __repr__(self):
-            return repr(self.__cast())
-
-        @classmethod
-        def __prepare_class__(cls):
-            for resultclass in resultclasses:
-                for type_ in resultclass.mro():
-                    for method_name in type_.__dict__:
-                        # All __promise__ return the same wrapper method, they
-                        # look up the correct implementation when called.
-                        if hasattr(cls, method_name):
-                            continue
-                        meth = cls.__promise__(method_name)
-                        setattr(cls, method_name, meth)
-            cls._delegate_bytes = bytes in resultclasses
-            cls._delegate_text = str in resultclasses
-            assert not (cls._delegate_bytes and cls._delegate_text), (
-                "Cannot call lazy() with both bytes and text return types.")
-            if cls._delegate_text:
-                cls.__str__ = cls.__text_cast
-            elif cls._delegate_bytes:
-                cls.__bytes__ = cls.__bytes_cast
-
-        @classmethod
-        def __promise__(cls, method_name):
-            # Builds a wrapper around some magic method
-            def __wrapper__(self, *args, **kw):
-                # Automatically triggers the evaluation of a lazy value and
-                # applies the given magic method of the result type.
-                res = func(*self.__args, **self.__kw)
-                return getattr(res, method_name)(*args, **kw)
-            return __wrapper__
-
-        def __text_cast(self):
-            return func(*self.__args, **self.__kw)
-
-        def __bytes_cast(self):
-            return bytes(func(*self.__args, **self.__kw))
-
-        def __bytes_cast_encoded(self):
-            return func(*self.__args, **self.__kw).encode()
-
-        def __cast(self):
-            if self._delegate_bytes:
-                return self.__bytes_cast()
-            elif self._delegate_text:
-                return self.__text_cast()
-            else:
-                return func(*self.__args, **self.__kw)
-
-        def __str__(self):
-            # object defines __str__(), so __prepare_class__() won't overload
-            # a __str__() method from the proxied class.
-            return str(self.__cast())
-
-        def __eq__(self, other):
-            if isinstance(other, Promise):
-                other = other.__cast()
-            return self.__cast() == other
-
-        def __lt__(self, other):
-            if isinstance(other, Promise):
-                other = other.__cast()
-            return self.__cast() < other
-
-        def __hash__(self):
-            return hash(self.__cast())
-
-        def __mod__(self, rhs):
-            if self._delegate_text:
-                return str(self) % rhs
-            return self.__cast() % rhs
-
-        def __add__(self, other):
-            return self.__cast() + other
-
-        def __radd__(self, other):
-            return other + self.__cast()
-
-        def __deepcopy__(self, memo):
-            # Instances of this class are effectively immutable. It's just a
-            # collection of functions. So we don't need to do anything
-            # complicated for copying.
-            memo[id(self)] = self
-            return self
-
-    @wraps(func)
-    def __wrapper__(*args, **kw):
-        # Creates the proxy object, instead of the actual value.
-        return __proxy__(args, kw)
-
-    return __wrapper__
-
-
-def _lazy_proxy_unpickle(func, args, kwargs, *resultclasses):
-    return lazy(func, *resultclasses)(*args, **kwargs)
-
-
-def lazystr(text):
-    """
-    Shortcut for the common case of a lazy callable that returns str.
-    """
-    return lazy(str, str)(text)
-
-
-def keep_lazy(*resultclasses):
-    """
-    A decorator that allows a function to be called with one or more lazy
-    arguments. If none of the args are lazy, the function is evaluated
-    immediately, otherwise a __proxy__ is returned that will evaluate the
-    function when needed.
-    """
-    if not resultclasses:
-        raise TypeError("You must pass at least one argument to keep_lazy().")
-
-    def decorator(func):
-        lazy_func = lazy(func, *resultclasses)
-
-        @wraps(func)
-        def wrapper(*args, **kwargs):
-            if any(isinstance(arg, Promise) for arg in itertools.chain(args, kwargs.values())):
-                return lazy_func(*args, **kwargs)
-            return func(*args, **kwargs)
-        return wrapper
-    return decorator
-
-
-def keep_lazy_text(func):
-    """
-    A decorator for functions that accept lazy arguments and return text.
-    """
-    return keep_lazy(str)(func)
-
-
-empty = object()
-
-
-def new_method_proxy(func):
-    def inner(self, *args):
-        if self._wrapped is empty:
-            self._setup()
-        return func(self._wrapped, *args)
-    return inner
-
-
-class LazyObject:
-    """
-    A wrapper for another class that can be used to delay instantiation of the
-    wrapped class.
-
-    By subclassing, you have the opportunity to intercept and alter the
-    instantiation. If you don't need to do that, use SimpleLazyObject.
-    """
-
-    # Avoid infinite recursion when tracing __init__ (#19456).
-    _wrapped = None
-
-    def __init__(self):
-        # Note: if a subclass overrides __init__(), it will likely need to
-        # override __copy__() and __deepcopy__() as well.
-        self._wrapped = empty
-
-    __getattr__ = new_method_proxy(getattr)
-
-    def __setattr__(self, name, value):
-        if name == "_wrapped":
-            # Assign to __dict__ to avoid infinite __setattr__ loops.
-            self.__dict__["_wrapped"] = value
-        else:
-            if self._wrapped is empty:
-                self._setup()
-            setattr(self._wrapped, name, value)
-
-    def __delattr__(self, name):
-        if name == "_wrapped":
-            raise TypeError("can't delete _wrapped.")
-        if self._wrapped is empty:
-            self._setup()
-        delattr(self._wrapped, name)
-
-    def _setup(self):
-        """
-        Must be implemented by subclasses to initialize the wrapped object.
-        """
-        raise NotImplementedError('subclasses of LazyObject must provide a _setup() method')
-
-    # Because we have messed with __class__ below, we confuse pickle as to what
-    # class we are pickling. We're going to have to initialize the wrapped
-    # object to successfully pickle it, so we might as well just pickle the
-    # wrapped object since they're supposed to act the same way.
-    #
-    # Unfortunately, if we try to simply act like the wrapped object, the ruse
-    # will break down when pickle gets our id(). Thus we end up with pickle
-    # thinking, in effect, that we are a distinct object from the wrapped
-    # object, but with the same __dict__. This can cause problems (see #25389).
-    #
-    # So instead, we define our own __reduce__ method and custom unpickler. We
-    # pickle the wrapped object as the unpickler's argument, so that pickle
-    # will pickle it normally, and then the unpickler simply returns its
-    # argument.
-    def __reduce__(self):
-        if self._wrapped is empty:
-            self._setup()
-        return (unpickle_lazyobject, (self._wrapped,))
-
-    def __copy__(self):
-        if self._wrapped is empty:
-            # If uninitialized, copy the wrapper. Use type(self), not
-            # self.__class__, because the latter is proxied.
-            return type(self)()
-        else:
-            # If initialized, return a copy of the wrapped object.
-            return copy.copy(self._wrapped)
-
-    def __deepcopy__(self, memo):
-        if self._wrapped is empty:
-            # We have to use type(self), not self.__class__, because the
-            # latter is proxied.
-            result = type(self)()
-            memo[id(self)] = result
-            return result
-        return copy.deepcopy(self._wrapped, memo)
-
-    __bytes__ = new_method_proxy(bytes)
-    __str__ = new_method_proxy(str)
-    __bool__ = new_method_proxy(bool)
-
-    # Introspection support
-    __dir__ = new_method_proxy(dir)
-
-    # Need to pretend to be the wrapped class, for the sake of objects that
-    # care about this (especially in equality tests)
-    __class__ = property(new_method_proxy(operator.attrgetter("__class__")))
-    __eq__ = new_method_proxy(operator.eq)
-    __lt__ = new_method_proxy(operator.lt)
-    __gt__ = new_method_proxy(operator.gt)
-    __ne__ = new_method_proxy(operator.ne)
-    __hash__ = new_method_proxy(hash)
-
-    # List/Tuple/Dictionary methods support
-    __getitem__ = new_method_proxy(operator.getitem)
-    __setitem__ = new_method_proxy(operator.setitem)
-    __delitem__ = new_method_proxy(operator.delitem)
-    __iter__ = new_method_proxy(iter)
-    __len__ = new_method_proxy(len)
-    __contains__ = new_method_proxy(operator.contains)
-
-
-def unpickle_lazyobject(wrapped):
-    """
-    Used to unpickle lazy objects. Just return its argument, which will be the
-    wrapped object.
-    """
-    return wrapped
-
-
-class SimpleLazyObject(LazyObject):
-    """
-    A lazy object initialized from any function.
-
-    Designed for compound objects of unknown type. For builtins or objects of
-    known type, use django.utils.functional.lazy.
-    """
-    def __init__(self, func):
-        """
-        Pass in a callable that returns the object to be wrapped.
-
-        If copies are made of the resulting SimpleLazyObject, which can happen
-        in various circumstances within Django, then you must ensure that the
-        callable can be safely run more than once and will return the same
-        value.
-        """
-        self.__dict__['_setupfunc'] = func
-        super().__init__()
-
-    def _setup(self):
-        self._wrapped = self._setupfunc()
-
-    # Return a meaningful representation of the lazy object for debugging
-    # without evaluating the wrapped object.
-    def __repr__(self):
-        if self._wrapped is empty:
-            repr_attr = self._setupfunc
-        else:
-            repr_attr = self._wrapped
-        return '<%s: %r>' % (type(self).__name__, repr_attr)
-
-    def __copy__(self):
-        if self._wrapped is empty:
-            # If uninitialized, copy the wrapper. Use SimpleLazyObject, not
-            # self.__class__, because the latter is proxied.
-            return SimpleLazyObject(self._setupfunc)
-        else:
-            # If initialized, return a copy of the wrapped object.
-            return copy.copy(self._wrapped)
-
-    def __deepcopy__(self, memo):
-        if self._wrapped is empty:
-            # We have to use SimpleLazyObject, not self.__class__, because the
-            # latter is proxied.
-            result = SimpleLazyObject(self._setupfunc)
-            memo[id(self)] = result
-            return result
-        return copy.deepcopy(self._wrapped, memo)
-
-
-def partition(predicate, values):
-    """
-    Split the values into two sets, based on the return value of the function
-    (True/False). e.g.:
-
-        >>> partition(lambda x: x > 3, range(5))
-        [0, 1, 2, 3], [4]
-    """
-    results = ([], [])
-    for item in values:
-        results[predicate(item)].append(item)
-    return results
-
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/accounts/accounts.html b/docs/0.9.5/_modules/evennia/accounts/accounts.html index 0508336e10..9f65229765 100644 --- a/docs/0.9.5/_modules/evennia/accounts/accounts.html +++ b/docs/0.9.5/_modules/evennia/accounts/accounts.html @@ -40,7 +40,7 @@

Source code for evennia.accounts.accounts

 """
-Typeclass for Account objects
+Typeclass for Account objects.
 
 Note that this object is primarily intended to
 store OOC information, not game info! This
@@ -92,9 +92,11 @@
 _CONNECT_CHANNEL = None
 _CMDHANDLER = None
 
+
 # Create throttles for too many account-creations and login attempts
 CREATION_THROTTLE = Throttle(
-    name='creation', limit=settings.CREATION_THROTTLE_LIMIT, timeout=settings.CREATION_THROTTLE_TIMEOUT
+    name='creation', limit=settings.CREATION_THROTTLE_LIMIT,
+    timeout=settings.CREATION_THROTTLE_TIMEOUT
 )
 LOGIN_THROTTLE = Throttle(
     name='login', limit=settings.LOGIN_THROTTLE_LIMIT, timeout=settings.LOGIN_THROTTLE_TIMEOUT
@@ -332,11 +334,11 @@
             raise RuntimeError("Session not found")
         if self.get_puppet(session) == obj:
             # already puppeting this object
-            self.msg(_("You are already puppeting this object."))
+            self.msg("You are already puppeting this object.")
             return
         if not obj.access(self, "puppet"):
             # no access
-            self.msg(_("You don't have permission to puppet '{key}'.").format(key=obj.key))
+            self.msg("You don't have permission to puppet '{obj.key}'.")
             return
         if obj.account:
             # object already puppeted
@@ -352,8 +354,8 @@
                     else:
                         txt1 = f"Taking over |c{obj.name}|n from another of your sessions."
                         txt2 = f"|c{obj.name}|n|R is now acted from another of your sessions.|n"
-                        self.msg(_(txt1), session=session)
-                        self.msg(_(txt2), session=obj.sessions.all())
+                        self.msg(txt1, session=session)
+                        self.msg(txt2, session=obj.sessions.all())
                         self.unpuppet_object(obj.sessions.get())
             elif obj.account.is_connected:
                 # controlled by another account
@@ -583,7 +585,7 @@
 
             # Update throttle
             if ip:
-                LOGIN_THROTTLE.update(ip, "Too many authentication failures.")
+                LOGIN_THROTTLE.update(ip, _("Too many authentication failures."))
 
             # Try to call post-failure hook
             session = kwargs.get("session", None)
@@ -698,8 +700,9 @@
             password (str): Password to set.
 
         Notes:
-            This is called by Django also when logging in; it should not be mixed up with validation, since that
-            would mean old passwords in the database (pre validation checks) could get invalidated.
+            This is called by Django also when logging in; it should not be mixed up with
+            validation, since that would mean old passwords in the database (pre validation checks)
+            could get invalidated.
 
         """
         super(DefaultAccount, self).set_password(password)
@@ -838,12 +841,10 @@
                 )
                 logger.log_sec(f"Account Created: {account} (IP: {ip}).")
 
-            except Exception as e:
+            except Exception:
                 errors.append(
-                    _(
-                        "There was an error creating the Account. If this problem persists, contact an admin."
-                    )
-                )
+                    _("There was an error creating the Account. "
+                      "If this problem persists, contact an admin."))
                 logger.log_trace()
                 return None, errors
 
@@ -859,7 +860,7 @@
             # join the new account to the public channel
             pchannel = ChannelDB.objects.get_channel(settings.DEFAULT_CHANNELS[0]["key"])
             if not pchannel or not pchannel.connect(account):
-                string = f"New account '{account.key}' could not connect to public channel!"
+                string = "New account '{account.key}' could not connect to public channel!"
                 errors.append(string)
                 logger.log_err(string)
 
@@ -1614,7 +1615,7 @@
             if hasattr(target, "return_appearance"):
                 return target.return_appearance(self)
             else:
-                return _("{target} has no in-game appearance.").format(target=target)
+                return f"{target} has no in-game appearance."
         else:
             # list of targets - make list to disconnect from db
             characters = list(tar for tar in target if tar) if target else []
@@ -1657,19 +1658,18 @@
             if is_su or len(characters) < charmax:
                 if not characters:
                     result.append(
-                        _(
-                            "\n\n You don't have any characters yet. See |whelp @charcreate|n for creating one."
-                        )
+                        "\n\n You don't have any characters yet. See |whelp charcreate|n for "
+                        "creating one."
                     )
                 else:
-                    result.append("\n |w@charcreate <name> [=description]|n - create new character")
+                    result.append("\n |wcharcreate <name> [=description]|n - create new character")
                     result.append(
-                        "\n |w@chardelete <name>|n - delete a character (cannot be undone!)"
+                        "\n |wchardelete <name>|n - delete a character (cannot be undone!)"
                     )
 
             if characters:
                 string_s_ending = len(characters) > 1 and "s" or ""
-                result.append("\n |w@ic <character>|n - enter the game (|w@ooc|n to get back here)")
+                result.append("\n |wic <character>|n - enter the game (|wooc|n to get back here)")
                 if is_su:
                     result.append(
                         f"\n\nAvailable character{string_s_ending} ({len(characters)}/unlimited):"
@@ -1691,11 +1691,12 @@
                             sid = sess in sessions and sessions.index(sess) + 1
                             if sess and sid:
                                 result.append(
-                                    f"\n - |G{char.key}|n [{', '.join(char.permissions.all())}] (played by you in session {sid})"
-                                )
+                                    f"\n - |G{char.key}|n [{', '.join(char.permissions.all())}] "
+                                    f"(played by you in session {sid})")
                             else:
                                 result.append(
-                                    f"\n - |R{char.key}|n [{', '.join(char.permissions.all())}] (played by someone else)"
+                                    f"\n - |R{char.key}|n [{', '.join(char.permissions.all())}] "
+                                    "(played by someone else)"
                                 )
                     else:
                         # character is "free to puppet"
@@ -1708,6 +1709,7 @@
     """
     This class is used for guest logins. Unlike Accounts, Guests and
     their characters are deleted after disconnection.
+
     """
 
 
[docs] @classmethod @@ -1715,6 +1717,7 @@ """ Forwards request to cls.authenticate(); returns a DefaultGuest object if one is available for use. + """ return cls.authenticate(**kwargs)
@@ -1782,7 +1785,7 @@ return account, errors - except Exception as e: + except Exception: # We are in the middle between logged in and -not, so we have # to handle tracebacks ourselves at this point. If we don't, # we won't see any errors at all. diff --git a/docs/0.9.5/_modules/evennia/accounts/admin.html b/docs/0.9.5/_modules/evennia/accounts/admin.html deleted file mode 100644 index 6871d46f1b..0000000000 --- a/docs/0.9.5/_modules/evennia/accounts/admin.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - - - evennia.accounts.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.accounts.admin

-#
-# This sets up how models are displayed
-# in the web admin interface.
-#
-from django import forms
-from django.conf import settings
-from django.contrib import admin, messages
-from django.contrib.admin.options import IS_POPUP_VAR
-from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
-from django.contrib.auth.forms import UserChangeForm, UserCreationForm
-from django.contrib.admin.utils import unquote
-from django.template.response import TemplateResponse
-from django.http import Http404, HttpResponseRedirect
-from django.core.exceptions import PermissionDenied
-from django.views.decorators.debug import sensitive_post_parameters
-from django.utils.decorators import method_decorator
-from django.utils.html import escape
-from django.urls import path, reverse
-from django.contrib.auth import update_session_auth_hash
-
-from evennia.accounts.models import AccountDB
-from evennia.typeclasses.admin import AttributeInline, TagInline
-from evennia.utils import create
-
-sensitive_post_parameters_m = method_decorator(sensitive_post_parameters())
-
-
-# handle the custom User editor
-
[docs]class AccountDBChangeForm(UserChangeForm): - """ - Modify the accountdb class. - - """ - -
[docs] class Meta(object): - model = AccountDB - fields = "__all__"
- - username = forms.RegexField( - label="Username", - max_length=30, - regex=r"^[\w. @+-]+$", - widget=forms.TextInput(attrs={"size": "30"}), - error_messages={ - "invalid": "This value may contain only letters, spaces, numbers " - "and @/./+/-/_ characters." - }, - help_text="30 characters or fewer. Letters, spaces, digits and " "@/./+/-/_ only.", - ) - -
[docs] def clean_username(self): - """ - Clean the username and check its existence. - - """ - username = self.cleaned_data["username"] - if username.upper() == self.instance.username.upper(): - return username - elif AccountDB.objects.filter(username__iexact=username): - raise forms.ValidationError("An account with that name " "already exists.") - return self.cleaned_data["username"]
- - -
[docs]class AccountDBCreationForm(UserCreationForm): - """ - Create a new AccountDB instance. - """ - -
[docs] class Meta(object): - model = AccountDB - fields = "__all__"
- - username = forms.RegexField( - label="Username", - max_length=30, - regex=r"^[\w. @+-]+$", - widget=forms.TextInput(attrs={"size": "30"}), - error_messages={ - "invalid": "This value may contain only letters, spaces, numbers " - "and @/./+/-/_ characters." - }, - help_text="30 characters or fewer. Letters, spaces, digits and " "@/./+/-/_ only.", - ) - -
[docs] def clean_username(self): - """ - Cleanup username. - """ - username = self.cleaned_data["username"] - if AccountDB.objects.filter(username__iexact=username): - raise forms.ValidationError("An account with that name already " "exists.") - return username
- - -
[docs]class AccountForm(forms.ModelForm): - """ - Defines how to display Accounts - - """ - -
[docs] class Meta(object): - model = AccountDB - fields = "__all__" - app_label = "accounts"
- - db_key = forms.RegexField( - label="Username", - initial="AccountDummy", - max_length=30, - regex=r"^[\w. @+-]+$", - required=False, - widget=forms.TextInput(attrs={"size": "30"}), - error_messages={ - "invalid": "This value may contain only letters, spaces, numbers" - " and @/./+/-/_ characters." - }, - help_text="This should be the same as the connected Account's key " - "name. 30 characters or fewer. Letters, spaces, digits and " - "@/./+/-/_ only.", - ) - - db_typeclass_path = forms.CharField( - label="Typeclass", - initial=settings.BASE_ACCOUNT_TYPECLASS, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Required. Defines what 'type' of entity this is. This " - "variable holds a Python path to a module with a valid " - "Evennia Typeclass. Defaults to " - "settings.BASE_ACCOUNT_TYPECLASS.", - ) - - db_permissions = forms.CharField( - label="Permissions", - initial=settings.PERMISSION_ACCOUNT_DEFAULT, - required=False, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="In-game permissions. A comma-separated list of text " - "strings checked by certain locks. They are often used for " - "hierarchies, such as letting an Account have permission " - "'Admin', 'Builder' etc. An Account permission can be " - "overloaded by the permissions of a controlled Character. " - "Normal accounts use 'Accounts' by default.", - ) - - db_lock_storage = forms.CharField( - label="Locks", - widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}), - required=False, - help_text="In-game lock definition string. If not given, defaults " - "will be used. This string should be on the form " - "<i>type:lockfunction(args);type2:lockfunction2(args);...", - ) - db_cmdset_storage = forms.CharField( - label="cmdset", - initial=settings.CMDSET_ACCOUNT, - widget=forms.TextInput(attrs={"size": "78"}), - required=False, - help_text="python path to account cmdset class (set in " - "settings.CMDSET_ACCOUNT by default)", - )
- - -
[docs]class AccountInline(admin.StackedInline): - """ - Inline creation of Account - - """ - - model = AccountDB - template = "admin/accounts/stacked.html" - form = AccountForm - fieldsets = ( - ( - "In-game Permissions and Locks", - { - "fields": ("db_lock_storage",), - # {'fields': ('db_permissions', 'db_lock_storage'), - "description": "<i>These are permissions/locks for in-game use. " - "They are unrelated to website access rights.</i>", - }, - ), - ( - "In-game Account data", - { - "fields": ("db_typeclass_path", "db_cmdset_storage"), - "description": "<i>These fields define in-game-specific properties " - "for the Account object in-game.</i>", - }, - ), - ) - - extra = 1 - max_num = 1
- - -
[docs]class AccountTagInline(TagInline): - """ - Inline Account Tags. - - """ - - model = AccountDB.db_tags.through - related_field = "accountdb"
- - -
[docs]class AccountAttributeInline(AttributeInline): - """ - Inline Account Attributes. - - """ - - model = AccountDB.db_attributes.through - related_field = "accountdb"
- - -
[docs]class AccountDBAdmin(BaseUserAdmin): - """ - This is the main creation screen for Users/accounts - - """ - - list_display = ("username", "email", "is_staff", "is_superuser") - form = AccountDBChangeForm - add_form = AccountDBCreationForm - inlines = [AccountTagInline, AccountAttributeInline] - fieldsets = ( - (None, {"fields": ("username", "password", "email")}), - ( - "Website profile", - { - "fields": ("first_name", "last_name"), - "description": "<i>These are not used " "in the default system.</i>", - }, - ), - ( - "Website dates", - { - "fields": ("last_login", "date_joined"), - "description": "<i>Relevant only to the website.</i>", - }, - ), - ( - "Website Permissions", - { - "fields": ("is_active", "is_staff", "is_superuser", "user_permissions", "groups"), - "description": "<i>These are permissions/permission groups for " - "accessing the admin site. They are unrelated to " - "in-game access rights.</i>", - }, - ), - ( - "Game Options", - { - "fields": ("db_typeclass_path", "db_cmdset_storage", "db_lock_storage"), - "description": "<i>These are attributes that are more relevant " "to gameplay.</i>", - }, - ), - ) - # ('Game Options', {'fields': ( - # 'db_typeclass_path', 'db_cmdset_storage', - # 'db_permissions', 'db_lock_storage'), - # 'description': '<i>These are attributes that are ' - # 'more relevant to gameplay.</i>'})) - - add_fieldsets = ( - ( - None, - { - "fields": ("username", "password1", "password2", "email"), - "description": "<i>These account details are shared by the admin " - "system and the game.</i>", - }, - ), - ) - -
[docs] @sensitive_post_parameters_m - def user_change_password(self, request, id, form_url=""): - user = self.get_object(request, unquote(id)) - if not self.has_change_permission(request, user): - raise PermissionDenied - if user is None: - raise Http404("%(name)s object with primary key %(key)r does not exist.") % { - "name": self.model._meta.verbose_name, - "key": escape(id), - } - if request.method == "POST": - form = self.change_password_form(user, request.POST) - if form.is_valid(): - form.save() - change_message = self.construct_change_message(request, form, None) - self.log_change(request, user, change_message) - msg = "Password changed successfully." - messages.success(request, msg) - update_session_auth_hash(request, form.user) - return HttpResponseRedirect( - reverse( - "%s:%s_%s_change" - % ( - self.admin_site.name, - user._meta.app_label, - # the model_name is something we need to hardcode - # since our accountdb is a proxy: - "accountdb", - ), - args=(user.pk,), - ) - ) - else: - form = self.change_password_form(user) - - fieldsets = [(None, {"fields": list(form.base_fields)})] - adminForm = admin.helpers.AdminForm(form, fieldsets, {}) - - context = { - "title": "Change password: %s" % escape(user.get_username()), - "adminForm": adminForm, - "form_url": form_url, - "form": form, - "is_popup": (IS_POPUP_VAR in request.POST or IS_POPUP_VAR in request.GET), - "add": True, - "change": False, - "has_delete_permission": False, - "has_change_permission": True, - "has_absolute_url": False, - "opts": self.model._meta, - "original": user, - "save_as": False, - "show_save": True, - **self.admin_site.each_context(request), - } - - request.current_app = self.admin_site.name - - return TemplateResponse( - request, - self.change_user_password_template or "admin/auth/user/change_password.html", - context, - )
- -
[docs] def save_model(self, request, obj, form, change): - """ - Custom save actions. - - Args: - request (Request): Incoming request. - obj (Object): Object to save. - form (Form): Related form instance. - change (bool): False if this is a new save and not an update. - - """ - obj.save() - if not change: - # calling hooks for new account - obj.set_class_from_typeclass(typeclass_path=settings.BASE_ACCOUNT_TYPECLASS) - obj.basetype_setup() - obj.at_account_creation()
- -
[docs] def response_add(self, request, obj, post_url_continue=None): - from django.http import HttpResponseRedirect - from django.urls import reverse - - return HttpResponseRedirect(reverse("admin:accounts_accountdb_change", args=[obj.id]))
- - -admin.site.register(AccountDB, AccountDBAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/accounts/bots.html b/docs/0.9.5/_modules/evennia/accounts/bots.html index 37b44132a7..73eef99d8f 100644 --- a/docs/0.9.5/_modules/evennia/accounts/bots.html +++ b/docs/0.9.5/_modules/evennia/accounts/bots.html @@ -371,7 +371,7 @@ nicklist = ", ".join(sorted(kwargs["nicklist"], key=lambda n: n.lower())) for obj in self._nicklist_callers: obj.msg( - _("Nicks at {chstr}:\n {nicklist}").format(chstr=chstr, nicklist=nicklist) + "Nicks at {chstr}:\n {nicklist}".format(chstr=chstr, nicklist=nicklist) ) self._nicklist_callers = [] return @@ -382,7 +382,7 @@ chstr = f"{self.db.irc_channel} ({self.db.irc_network}:{self.db.irc_port})" for obj in self._ping_callers: obj.msg( - _("IRC ping return from {chstr} took {time}s.").format( + "IRC ping return from {chstr} took {time}s.".format( chstr=chstr, time=kwargs["timing"] ) ) @@ -438,6 +438,7 @@ # # RSS +#
[docs]class RSSBot(Bot): diff --git a/docs/0.9.5/_modules/evennia/accounts/models.html b/docs/0.9.5/_modules/evennia/accounts/models.html index 7a86e7c468..50ca520337 100644 --- a/docs/0.9.5/_modules/evennia/accounts/models.html +++ b/docs/0.9.5/_modules/evennia/accounts/models.html @@ -87,7 +87,7 @@ # ------------------------------------------------------------ -
[docs]class AccountDB(TypedObject, AbstractUser): +
[docs]class AccountDB(TypedObject, AbstractUser): """ This is a special model using Django's 'profile' functionality and extends the default Django User model. It is defined as such @@ -135,7 +135,8 @@ "cmdset", max_length=255, null=True, - help_text="optional python path to a cmdset class. If creating a Character, this will default to settings.CMDSET_CHARACTER.", + help_text="optional python path to a cmdset class. If creating a Character, this will " + "default to settings.CMDSET_CHARACTER.", ) # marks if this is a "virtual" bot account object db_is_bot = models.BooleanField( @@ -150,8 +151,8 @@ __applabel__ = "accounts" __settingsclasspath__ = settings.BASE_SCRIPT_TYPECLASS - # class Meta: - # verbose_name = "Account" + class Meta: + verbose_name = "Account" # cmdset_storage property # This seems very sensitive to caching, so leaving it be for now /Griatch diff --git a/docs/0.9.5/_modules/evennia/commands/cmdhandler.html b/docs/0.9.5/_modules/evennia/commands/cmdhandler.html index 12d55b6ff1..a2356600b6 100644 --- a/docs/0.9.5/_modules/evennia/commands/cmdhandler.html +++ b/docs/0.9.5/_modules/evennia/commands/cmdhandler.html @@ -121,50 +121,50 @@ # is the normal "production message to echo to the account. _ERROR_UNTRAPPED = ( - """ -An untrapped error occurred. -""", - """ -An untrapped error occurred. Please file a bug report detailing the steps to reproduce. -""", + _(""" +An untrapped error occurred. +"""), + _(""" +An untrapped error occurred. Please file a bug report detailing the steps to reproduce. +"""), ) _ERROR_CMDSETS = ( - """ -A cmdset merger-error occurred. This is often due to a syntax -error in one of the cmdsets to merge. -""", - """ -A cmdset merger-error occurred. Please file a bug report detailing the -steps to reproduce. -""", + _(""" +A cmdset merger-error occurred. This is often due to a syntax +error in one of the cmdsets to merge. +"""), + _(""" +A cmdset merger-error occurred. Please file a bug report detailing the +steps to reproduce. +"""), ) _ERROR_NOCMDSETS = ( - """ -No command sets found! This is a critical bug that can have -multiple causes. -""", - """ -No command sets found! This is a sign of a critical bug. If -disconnecting/reconnecting doesn't" solve the problem, try to contact -the server admin through" some other means for assistance. -""", + _(""" +No command sets found! This is a critical bug that can have +multiple causes. +"""), + _(""" +No command sets found! This is a sign of a critical bug. If +disconnecting/reconnecting doesn't" solve the problem, try to contact +the server admin through" some other means for assistance. +"""), ) _ERROR_CMDHANDLER = ( - """ -A command handler bug occurred. If this is not due to a local change, -please file a bug report with the Evennia project, including the -traceback and steps to reproduce. -""", - """ -A command handler bug occurred. Please notify staff - they should -likely file a bug report with the Evennia project. -""", + _(""" +A command handler bug occurred. If this is not due to a local change, +please file a bug report with the Evennia project, including the +traceback and steps to reproduce. +"""), + _(""" +A command handler bug occurred. Please notify staff - they should +likely file a bug report with the Evennia project. +"""), ) -_ERROR_RECURSION_LIMIT = ( +_ERROR_RECURSION_LIMIT = _( "Command recursion limit ({recursion_limit}) " "reached for '{raw_cmdname}' ({cmdclass})." ) @@ -187,7 +187,7 @@ production string (with a timestamp) to be shown to the user. """ - string = "{traceback}\n{errmsg}\n(Traceback was logged {timestamp})." + string = _("{traceback}\n{errmsg}\n(Traceback was logged {timestamp}).") timestamp = logger.timeformat() tracestring = format_exc() logger.log_trace() @@ -340,6 +340,7 @@ def _get_local_obj_cmdsets(obj): """ Helper-method; Get Object-level cmdsets + """ # Gather cmdsets from location, objects in location or carried try: @@ -393,6 +394,7 @@ """ Helper method; Get cmdset while making sure to trigger all hooks safely. Returns the stack and the valid options. + """ try: yield obj.at_cmdset_get() @@ -425,13 +427,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # channel_cmdsets = yield _get_channel_cmdset(obj) - # cmdsets += channel_cmdsets - # if not current.no_channels: - # channel_cmdsets = yield _get_channel_cmdset(account) - # cmdsets += channel_cmdsets elif callertype == "account": # we are calling the command from the account level @@ -449,11 +444,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # cmdsets += yield _get_channel_cmdset(obj) - # if not current.no_channels: - # cmdsets += yield _get_channel_cmdset(account) elif callertype == "object": # we are calling the command from the object level @@ -467,9 +457,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += yield local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # cmdsets += yield _get_channel_cmdset(obj) else: raise Exception("get_and_merge_cmdsets: callertype %s is not valid." % callertype) diff --git a/docs/0.9.5/_modules/evennia/commands/cmdset.html b/docs/0.9.5/_modules/evennia/commands/cmdset.html index b50385bc0a..dbbc1fdb01 100644 --- a/docs/0.9.5/_modules/evennia/commands/cmdset.html +++ b/docs/0.9.5/_modules/evennia/commands/cmdset.html @@ -405,8 +405,8 @@ if getattr(self, opt) is not None ]) options = (", " + options) if options else "" - return f"<CmdSet {self.key}, {self.mergetype}, {perm}, prio {self.priority}{options}>: " + ", ".join( - [str(cmd) for cmd in sorted(self.commands, key=lambda o: o.key)]) + return (f"<CmdSet {self.key}, {self.mergetype}, {perm}, prio {self.priority}{options}>: " + + ", ".join([str(cmd) for cmd in sorted(self.commands, key=lambda o: o.key)])) def __iter__(self): """ @@ -518,7 +518,8 @@ # This is used for diagnosis. cmdset_c.actual_mergetype = mergetype - # print "__add__ for %s (prio %i) called with %s (prio %i)." % (self.key, self.priority, cmdset_a.key, cmdset_a.priority) + # print "__add__ for %s (prio %i) called with %s (prio %i)." % (self.key, self.priority, + # cmdset_a.key, cmdset_a.priority) # return the system commands to the cmdset cmdset_c.add(sys_commands, allow_duplicates=True) @@ -711,6 +712,7 @@ Hook method - this should be overloaded in the inheriting class, and should take care of populating the cmdset by use of self.add(). + """ pass
diff --git a/docs/0.9.5/_modules/evennia/commands/cmdsethandler.html b/docs/0.9.5/_modules/evennia/commands/cmdsethandler.html index 80786b2f54..d2e520247e 100644 --- a/docs/0.9.5/_modules/evennia/commands/cmdsethandler.html +++ b/docs/0.9.5/_modules/evennia/commands/cmdsethandler.html @@ -103,6 +103,7 @@ can then implement separate sets for different situations. For example, you can have a 'On a boat' set, onto which you then tack on the 'Fishing' set. Fishing from a boat? No problem! + """ import sys from traceback import format_exc @@ -144,7 +145,7 @@ _ERROR_CMDSET_EXCEPTION = _( """{traceback} -Compile/Run error when loading cmdset '{path}'.", +Compile/Run error when loading cmdset '{path}'. (Traceback was logged {timestamp})""" ) @@ -209,7 +210,7 @@ if "." in path: modpath, classname = python_path.rsplit(".", 1) else: - raise ImportError("The path '%s' is not on the form modulepath.ClassName" % path) + raise ImportError(f"The path '{path}' is not on the form modulepath.ClassName") try: # first try to get from cache @@ -353,6 +354,7 @@ def __str__(self): """ Display current commands + """ strings = ["<CmdSetHandler> stack:"] @@ -372,7 +374,7 @@ if mergelist: # current is a result of mergers - mergelist="+".join(mergelist) + mergelist = "+".join(mergelist) strings.append(f" <Merged {mergelist}>: {self.current}") else: # current is a single cmdset @@ -462,7 +464,8 @@ self.mergetype_stack.append(new_current.actual_mergetype) self.current = new_current -
[docs] def add(self, cmdset, emit_to_obj=None, persistent=True, permanent=True, default_cmdset=False, **kwargs): +
[docs] def add(self, cmdset, emit_to_obj=None, persistent=True, default_cmdset=False, + **kwargs): """ Add a cmdset to the handler, on top of the old ones, unless it is set as the default one (it will then end up at the bottom of the stack) @@ -472,8 +475,6 @@ to such an object. emit_to_obj (Object, optional): An object to receive error messages. persistent (bool, optional): Let cmdset remain across server reload. - permanent (bool, optional): DEPRECATED. This has the same use as - `persistent`. default_cmdset (Cmdset, optional): Insert this to replace the default cmdset position (there is only one such position, always at the bottom of the stack). @@ -491,10 +492,9 @@ """ if "permanent" in kwargs: - logger.log_dep("obj.cmdset.add() kwarg 'permanent' has changed to " + logger.log_dep("obj.cmdset.add() kwarg 'permanent' has changed name to " "'persistent' and now defaults to True.") - - permanent = persistent or permanent + persistent = kwargs['permanent'] if persistent is None else persistent if not (isinstance(cmdset, str) or utils.inherits_from(cmdset, CmdSet)): string = _("Only CmdSets can be added to the cmdsethandler!") @@ -506,8 +506,8 @@ # this is (maybe) a python path. Try to import from cache. cmdset = self._import_cmdset(cmdset) if cmdset and cmdset.key != "_CMDSET_ERROR": - cmdset.permanent = permanent - if permanent and cmdset.key != "_CMDSET_ERROR": + cmdset.permanent = persistent # TODO change on cmdset too + if persistent and cmdset.key != "_CMDSET_ERROR": # store the path permanently storage = self.obj.cmdset_storage or [""] if default_cmdset: @@ -521,17 +521,21 @@ self.cmdset_stack.append(cmdset) self.update()
-
[docs] def add_default(self, cmdset, emit_to_obj=None, permanent=True): +
[docs] def add_default(self, cmdset, emit_to_obj=None, persistent=True, **kwargs): """ Shortcut for adding a default cmdset. Args: cmdset (Cmdset): The Cmdset to add. emit_to_obj (Object, optional): Gets error messages - permanent (bool, optional): The new Cmdset should survive a server reboot. + persistent (bool, optional): The new Cmdset should survive a server reboot. """ - self.add(cmdset, emit_to_obj=emit_to_obj, permanent=permanent, default_cmdset=True)
+ if "permanent" in kwargs: + logger.log_dep("obj.cmdset.add_default() kwarg 'permanent' has changed name to " + "'persistent'.") + persistent = kwargs['permanent'] if persistent is None else persistent + self.add(cmdset, emit_to_obj=emit_to_obj, persistent=persistent, default_cmdset=True)
[docs] def remove(self, cmdset=None, default_cmdset=False): """ diff --git a/docs/0.9.5/_modules/evennia/commands/command.html b/docs/0.9.5/_modules/evennia/commands/command.html index efbf418f4d..dd2d83cc49 100644 --- a/docs/0.9.5/_modules/evennia/commands/command.html +++ b/docs/0.9.5/_modules/evennia/commands/command.html @@ -613,6 +613,7 @@ border_left_char=border_left_char, border_right_char=border_right_char, border_top_char=border_top_char, + border_bottom_char=border_bottom_char, **kwargs, ) return table
diff --git a/docs/0.9.5/_modules/evennia/commands/default/account.html b/docs/0.9.5/_modules/evennia/commands/default/account.html index 95a6973110..9acfee6023 100644 --- a/docs/0.9.5/_modules/evennia/commands/default/account.html +++ b/docs/0.9.5/_modules/evennia/commands/default/account.html @@ -861,7 +861,7 @@ testing which colors your client support Usage: - color ansi||xterm256 + color ansi | xterm256 Prints a color map along with in-mud color codes to use to produce them. It also tests what is supported in your client. Choices are diff --git a/docs/0.9.5/_modules/evennia/commands/default/general.html b/docs/0.9.5/_modules/evennia/commands/default/general.html index 48c9e0868c..22ac2cecb4 100644 --- a/docs/0.9.5/_modules/evennia/commands/default/general.html +++ b/docs/0.9.5/_modules/evennia/commands/default/general.html @@ -423,7 +423,7 @@ table = self.styled_table(border="header") for item in items: table.add_row(f"|C{item.name}|n", - "{}|n".format(utils.crop(raw_ansi(item.db.desc), width=50) or "")) + "{}|n".format(utils.crop(raw_ansi(item.db.desc or ""), width=50) or "")) string = f"|wYou are carrying:\n{table}" self.caller.msg(string)
diff --git a/docs/0.9.5/_modules/evennia/commands/default/help.html b/docs/0.9.5/_modules/evennia/commands/default/help.html index 82de845457..586e0a3343 100644 --- a/docs/0.9.5/_modules/evennia/commands/default/help.html +++ b/docs/0.9.5/_modules/evennia/commands/default/help.html @@ -73,7 +73,6 @@ # limit symbol import for API __all__ = ("CmdHelp", "CmdSetHelp") - @dataclass class HelpCategory: """ diff --git a/docs/0.9.5/_modules/evennia/comms/admin.html b/docs/0.9.5/_modules/evennia/comms/admin.html deleted file mode 100644 index 53eb4d5b03..0000000000 --- a/docs/0.9.5/_modules/evennia/comms/admin.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - - evennia.comms.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.comms.admin

-"""
-This defines how Comm models are displayed in the web admin interface.
-
-"""
-
-from django.contrib import admin
-from evennia.comms.models import ChannelDB
-from evennia.typeclasses.admin import AttributeInline, TagInline
-from django.conf import settings
-
-
-
[docs]class ChannelAttributeInline(AttributeInline): - """ - Inline display of Channel Attribute - experimental - - """ - - model = ChannelDB.db_attributes.through - related_field = "channeldb"
- - -
[docs]class ChannelTagInline(TagInline): - """ - Inline display of Channel Tags - experimental - - """ - - model = ChannelDB.db_tags.through - related_field = "channeldb"
- - -
[docs]class MsgAdmin(admin.ModelAdmin): - """ - Defines display for Msg objects - - """ - - list_display = ( - "id", - "db_date_created", - "db_sender", - "db_receivers", - "db_channels", - "db_message", - "db_lock_storage", - ) - list_display_links = ("id",) - ordering = ["db_date_created", "db_sender", "db_receivers", "db_channels"] - # readonly_fields = ['db_message', 'db_sender', 'db_receivers', 'db_channels'] - search_fields = ["id", "^db_date_created", "^db_message"] - save_as = True - save_on_top = True - list_select_related = True
- - -# admin.site.register(Msg, MsgAdmin) - - -
[docs]class ChannelAdmin(admin.ModelAdmin): - """ - Defines display for Channel objects - - """ - - inlines = [ChannelTagInline, ChannelAttributeInline] - list_display = ("id", "db_key", "db_lock_storage", "subscriptions") - list_display_links = ("id", "db_key") - ordering = ["db_key"] - search_fields = ["id", "db_key", "db_tags__db_key"] - save_as = True - save_on_top = True - list_select_related = True - raw_id_fields = ("db_object_subscriptions", "db_account_subscriptions") - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key",), - "db_lock_storage", - "db_account_subscriptions", - "db_object_subscriptions", - ) - }, - ), - ) - -
[docs] def subscriptions(self, obj): - """ - Helper method to get subs from a channel. - - Args: - obj (Channel): The channel to get subs from. - - """ - return ", ".join([str(sub) for sub in obj.subscriptions.all()])
- -
[docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=settings.BASE_CHANNEL_TYPECLASS) - obj.at_init()
- -
[docs] def response_add(self, request, obj, post_url_continue=None): - from django.http import HttpResponseRedirect - from django.urls import reverse - - return HttpResponseRedirect(reverse("admin:comms_channeldb_change", args=[obj.id]))
- - -admin.site.register(ChannelDB, ChannelAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/comms/comms.html b/docs/0.9.5/_modules/evennia/comms/comms.html index 570b7d8e52..5229476fb6 100644 --- a/docs/0.9.5/_modules/evennia/comms/comms.html +++ b/docs/0.9.5/_modules/evennia/comms/comms.html @@ -48,7 +48,7 @@ from django.utils.text import slugify from evennia.typeclasses.models import TypeclassBase -from evennia.comms.models import TempMsg, ChannelDB +from evennia.comms.models import ChannelDB from evennia.comms.managers import ChannelManager from evennia.utils import create, logger from evennia.utils.utils import make_iter @@ -90,7 +90,6 @@ channel_msg_nick_pattern = r"{alias}\s*?|{alias}\s+?(?P<arg1>.+?)" channel_msg_nick_replacement = "channel {channelname} = $1" -
[docs] def at_first_save(self): """ Called by the typeclass system the very first time the channel @@ -747,7 +746,7 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
[docs] def web_get_detail_url(self): @@ -762,8 +761,10 @@ a named view of 'channel-detail' would be referenced by this method. ex. - url(r'channels/(?P<slug>[\w\d\-]+)/$', - ChannelDetailView.as_view(), name='channel-detail') + :: + + url(r'channels/(?P<slug>[\w\d\-]+)/$', + ChannelDetailView.as_view(), name='channel-detail') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -781,7 +782,7 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
[docs] def web_get_update_url(self): @@ -796,8 +797,10 @@ a named view of 'channel-update' would be referenced by this method. ex. - url(r'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', - ChannelUpdateView.as_view(), name='channel-update') + :: + + url(r'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + ChannelUpdateView.as_view(), name='channel-update') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -815,7 +818,7 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
[docs] def web_get_delete_url(self): @@ -848,7 +851,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
# Used by Django Sites/Admin diff --git a/docs/0.9.5/_modules/evennia/comms/managers.html b/docs/0.9.5/_modules/evennia/comms/managers.html index 8f67bbeaa5..b31a5cf45c 100644 --- a/docs/0.9.5/_modules/evennia/comms/managers.html +++ b/docs/0.9.5/_modules/evennia/comms/managers.html @@ -259,7 +259,6 @@ else: raise CommError -
[docs] def search_message(self, sender=None, receiver=None, freetext=None, dbref=None): """ Search the message database for particular messages. At least diff --git a/docs/0.9.5/_modules/evennia/comms/models.html b/docs/0.9.5/_modules/evennia/comms/models.html index d86b0dec34..dcf1e67da1 100644 --- a/docs/0.9.5/_modules/evennia/comms/models.html +++ b/docs/0.9.5/_modules/evennia/comms/models.html @@ -57,6 +57,7 @@ Channels are central objects that act as targets for Msgs. Accounts can connect to channels by use of a ChannelConnect object (this object is necessary to easily be able to delete connections on the fly). + """ from django.conf import settings from django.utils import timezone @@ -83,7 +84,7 @@ # ------------------------------------------------------------ -
[docs]class Msg(SharedMemoryModel): +
[docs]class Msg(SharedMemoryModel): """ A single message. This model describes all ooc messages sent in-game, both to channels and between accounts. @@ -119,7 +120,7 @@ "accounts.AccountDB", related_name="sender_account_set", blank=True, - verbose_name="sender(account)", + verbose_name="Senders (Accounts)", db_index=True, ) @@ -127,14 +128,14 @@ "objects.ObjectDB", related_name="sender_object_set", blank=True, - verbose_name="sender(object)", + verbose_name="Senders (Objects)", db_index=True, ) db_sender_scripts = models.ManyToManyField( "scripts.ScriptDB", related_name="sender_script_set", blank=True, - verbose_name="sender(script)", + verbose_name="Senders (Scripts)", db_index=True, ) db_sender_external = models.CharField( @@ -143,14 +144,15 @@ null=True, blank=True, db_index=True, - help_text="identifier for external sender, for example a sender over an " - "IRC connection (i.e. someone who doesn't have an exixtence in-game).", + help_text="Identifier for single external sender, for use with senders " + "not represented by a regular database model." ) db_receivers_accounts = models.ManyToManyField( "accounts.AccountDB", related_name="receiver_account_set", blank=True, + verbose_name="Receivers (Accounts)", help_text="account receivers", ) @@ -158,12 +160,14 @@ "objects.ObjectDB", related_name="receiver_object_set", blank=True, + verbose_name="Receivers (Objects)", help_text="object receivers", ) db_receivers_scripts = models.ManyToManyField( "scripts.ScriptDB", related_name="receiver_script_set", blank=True, + verbose_name="Receivers (Scripts)", help_text="script_receivers", ) @@ -173,8 +177,8 @@ null=True, blank=True, db_index=True, - help_text="identifier for single external receiver, for use with " - "receivers without a database existence." + help_text="Identifier for single external receiver, for use with recievers " + "not represented by a regular database model." ) # header could be used for meta-info about the message if your system needs @@ -203,7 +207,8 @@ db_tags = models.ManyToManyField( Tag, blank=True, - help_text="tags on this message. Tags are simple string markers to identify, group and alias messages.", + help_text="tags on this message. Tags are simple string markers to " + "identify, group and alias messages.", ) # Database manager @@ -214,11 +219,11 @@ "Define Django meta options" verbose_name = "Msg" -
[docs] @lazy_property +
[docs] @lazy_property def locks(self): return LockHandler(self)
-
[docs] @lazy_property +
[docs] @lazy_property def tags(self): return TagHandler(self)
@@ -271,7 +276,7 @@ self.db_sender_external = "" self.save() -
[docs] def remove_sender(self, senders): +
[docs] def remove_sender(self, senders): """ Remove a single sender or a list of senders. @@ -347,8 +352,7 @@ self.db_receiver_external = "" self.save() - -
[docs] def remove_receiver(self, receivers): +
[docs] def remove_receiver(self, receivers): """ Remove a single receiver, a list of receivers, or a single extral receiver. @@ -375,8 +379,8 @@ elif clsname == "ScriptDB": self.db_receivers_scripts.remove(receiver)
- - def __hide_from_get(self): + @property + def hide_from(self): """ Getter. Allows for value = self.hide_from. Returns two lists of accounts and objects. @@ -387,9 +391,12 @@ self.db_hide_from_objects.all(), ) - # @hide_from_sender.setter - def __hide_from_set(self, hiders): - "Setter. Allows for self.hide_from = value. Will append to hiders" + @hide_from.setter + def hide_from(self, hiders): + """ + Setter. Allows for self.hide_from = value. Will append to hiders. + + """ for hider in make_iter(hiders): if not hider: continue @@ -401,26 +408,30 @@ elif clsname == "ObjectDB": self.db_hide_from_objects.add(hider.__dbclass__) - # @hide_from_sender.deleter - def __hide_from_del(self): - "Deleter. Allows for del self.hide_from_senders" + @hide_from.deleter + def hide_from(self): + """ + Deleter. Allows for del self.hide_from_senders + + """ self.db_hide_from_accounts.clear() self.db_hide_from_objects.clear() self.save() - hide_from = property(__hide_from_get, __hide_from_set, __hide_from_del) - # # Msg class methods # def __str__(self): - "This handles what is shown when e.g. printing the message" + """ + This handles what is shown when e.g. printing the message. + + """ senders = ",".join(getattr(obj, "key", str(obj)) for obj in self.senders) receivers = ",".join(getattr(obj, "key", str(obj)) for obj in self.receivers) return "%s->%s: %s" % (senders, receivers, crop(self.message, width=40)) -
[docs] def access(self, accessing_obj, access_type="read", default=False): +
[docs] def access(self, accessing_obj, access_type="read", default=False): """ Checks lock access. @@ -443,15 +454,14 @@ # ------------------------------------------------------------ -
[docs]class TempMsg(object): +
[docs]class TempMsg(object): """ - This is a non-persistent object for sending temporary messages - that will not be stored. It mimics the "real" Msg object, but - doesn't require sender to be given. + This is a non-persistent object for sending temporary messages that will not be stored. It + mimics the "real" Msg object, but doesn't require sender to be given. """ -
[docs] def __init__( +
[docs] def __init__( self, senders=None, receivers=None, @@ -483,19 +493,20 @@ self.hide_from = hide_from and make_iter(hide_from) or [] self.date_created = timezone.now()
-
[docs] @lazy_property +
[docs] @lazy_property def locks(self): return LockHandler(self)
def __str__(self): """ This handles what is shown when e.g. printing the message. + """ senders = ",".join(obj.key for obj in self.senders) receivers = ",".join(obj.key for obj in self.receivers) return "%s->%s: %s" % (senders, receivers, crop(self.message, width=40)) -
[docs] def remove_sender(self, sender): +
[docs] def remove_sender(self, sender): """ Remove a sender or a list of senders. @@ -509,12 +520,13 @@ except ValueError: pass # nothing to remove
-
[docs] def remove_receiver(self, receiver): +
[docs] def remove_receiver(self, receiver): """ Remove a receiver or a list of receivers Args: receiver (Object, Account, Script, str or list): Receivers to remove. + """ for o in make_iter(receiver): @@ -523,7 +535,7 @@ except ValueError: pass # nothing to remove
-
[docs] def access(self, accessing_obj, access_type="read", default=False): +
[docs] def access(self, accessing_obj, access_type="read", default=False): """ Checks lock access. @@ -551,6 +563,7 @@ This handler manages subscriptions to the channel and hides away which type of entity is subscribing (Account or Object) + """ def __init__(self, obj): @@ -672,7 +685,8 @@ if not obj.is_connected: continue except ObjectDoesNotExist: - # a subscribed object has already been deleted. Mark that we need a recache and ignore it + # a subscribed object has already been deleted. Mark that we need a recache and + # ignore it recache_needed = True continue subs.append(obj) @@ -690,7 +704,7 @@ self._cache = None -
[docs]class ChannelDB(TypedObject): +
[docs]class ChannelDB(TypedObject): """ This is the basis of a comm channel, only implementing the very basics of distributing messages. @@ -726,7 +740,7 @@ __defaultclasspath__ = "evennia.comms.comms.DefaultChannel" __applabel__ = "comms" - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Channel" verbose_name_plural = "Channels" @@ -735,7 +749,7 @@ "Echoes the text representation of the channel." return "Channel '%s' (%s)" % (self.key, self.db.desc) -
[docs] @lazy_property +
[docs] @lazy_property def subscriptions(self): return SubscriptionHandler(self)
diff --git a/docs/0.9.5/_modules/evennia/help/admin.html b/docs/0.9.5/_modules/evennia/help/admin.html deleted file mode 100644 index 04c5d7df43..0000000000 --- a/docs/0.9.5/_modules/evennia/help/admin.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - - evennia.help.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.help.admin

-"""
-This defines how to edit help entries in Admin.
-"""
-from django import forms
-from django.contrib import admin
-from evennia.help.models import HelpEntry
-from evennia.typeclasses.admin import TagInline
-
-
-
[docs]class HelpTagInline(TagInline): - model = HelpEntry.db_tags.through - related_field = "helpentry"
- - -
[docs]class HelpEntryForm(forms.ModelForm): - "Defines how to display the help entry" - -
[docs] class Meta(object): - model = HelpEntry - fields = "__all__"
- - db_help_category = forms.CharField( - label="Help category", initial="General", help_text="organizes help entries in lists" - ) - db_lock_storage = forms.CharField( - label="Locks", - initial="view:all()", - required=False, - widget=forms.TextInput(attrs={"size": "40"}), - )
- - -
[docs]class HelpEntryAdmin(admin.ModelAdmin): - "Sets up the admin manaager for help entries" - inlines = [HelpTagInline] - list_display = ("id", "db_key", "db_help_category", "db_lock_storage") - list_display_links = ("id", "db_key") - search_fields = ["^db_key", "db_entrytext"] - ordering = ["db_help_category", "db_key"] - save_as = True - save_on_top = True - list_select_related = True - - form = HelpEntryForm - fieldsets = ( - ( - None, - { - "fields": (("db_key", "db_help_category"), "db_entrytext", "db_lock_storage"), - "description": "Sets a Help entry. Set lock to <i>view:all()</I> unless you want to restrict it.", - }, - ), - )
- - -admin.site.register(HelpEntry, HelpEntryAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/help/manager.html b/docs/0.9.5/_modules/evennia/help/manager.html index 0ca4267e69..1d5772ffea 100644 --- a/docs/0.9.5/_modules/evennia/help/manager.html +++ b/docs/0.9.5/_modules/evennia/help/manager.html @@ -42,7 +42,6 @@ """ Custom manager for HelpEntry objects. """ -from django.db import models from evennia.utils import logger, utils from evennia.typeclasses.managers import TypedObjectManager @@ -172,7 +171,7 @@ for topic in topics: topic.help_category = default_category topic.save() - string = _("Help database moved to category {default_category}").format( + string = "Help database moved to category {default_category}".format( default_category=default_category ) logger.log_info(string)
diff --git a/docs/0.9.5/_modules/evennia/help/models.html b/docs/0.9.5/_modules/evennia/help/models.html index a21c59542a..9827d5ebb8 100644 --- a/docs/0.9.5/_modules/evennia/help/models.html +++ b/docs/0.9.5/_modules/evennia/help/models.html @@ -50,6 +50,7 @@ game world, policy info, rules and similar. """ +from datetime import datetime from django.contrib.contenttypes.models import ContentType from django.db import models from django.urls import reverse @@ -71,7 +72,7 @@ # ------------------------------------------------------------ -
[docs]class HelpEntry(SharedMemoryModel): +
[docs]class HelpEntry(SharedMemoryModel): """ A generic help entry. @@ -117,9 +118,8 @@ help_text="tags on this object. Tags are simple string markers to " "identify, group and alias objects.", ) - # (deprecated, only here to allow MUX helpfile load (don't use otherwise)). - # TODO: remove this when not needed anymore. - db_staff_only = models.BooleanField(default=False) + # Creation date. This is not changed once the object is created. + db_date_created = models.DateTimeField("creation date", editable=False, auto_now=True) # Database manager objects = HelpEntryManager() @@ -127,19 +127,19 @@ # lazy-loaded handlers -
[docs] @lazy_property +
[docs] @lazy_property def locks(self): return LockHandler(self)
-
[docs] @lazy_property +
[docs] @lazy_property def tags(self): return TagHandler(self)
-
[docs] @lazy_property +
[docs] @lazy_property def aliases(self): return AliasHandler(self)
- class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Help Entry" verbose_name_plural = "Help Entries" @@ -149,11 +149,13 @@ # HelpEntry main class methods # # + def __str__(self): + return str(self.key) def __repr__(self): return f"<HelpEntry {self.key}>" -
[docs] def access(self, accessing_obj, access_type="read", default=False): +
[docs] def access(self, accessing_obj, access_type="read", default=False): """ Determines if another object has permission to access. accessing_obj - object trying to access this one @@ -179,7 +181,7 @@ # Web/Django methods # -
[docs] def web_get_admin_url(self): +
[docs] def web_get_admin_url(self): """ Returns the URI path for the Django Admin page for this object. @@ -194,7 +196,7 @@ "admin:%s_%s_change" % (content_type.app_label, content_type.model), args=(self.id,) )
-
[docs] @classmethod +
[docs] @classmethod def web_get_create_url(cls): """ Returns the URI path for a View that allows users to create new @@ -207,7 +209,9 @@ a named view of 'character-create' would be referenced by this method. ex. - url(r'characters/create/', ChargenView.as_view(), name='character-create') + :: + + url(r'characters/create/', ChargenView.as_view(), name='character-create') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -222,10 +226,10 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
-
[docs] def web_get_detail_url(self): +
[docs] def web_get_detail_url(self): """ Returns the URI path for a View that allows users to view details for this object. @@ -237,8 +241,9 @@ a named view of 'character-detail' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$', - CharDetailView.as_view(), name='character-detail') + :: + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$', + CharDetailView.as_view(), name='character-detail') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -256,11 +261,10 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except Exception as e: - print(e) + except Exception: return "#"
-
[docs] def web_get_update_url(self): +
[docs] def web_get_update_url(self): """ Returns the URI path for a View that allows users to update this object. @@ -272,8 +276,10 @@ a named view of 'character-update' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', - CharUpdateView.as_view(), name='character-update') + :: + + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + CharUpdateView.as_view(), name='character-update') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -291,10 +297,10 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except: + except Exception: return "#"
-
[docs] def web_get_delete_url(self): +
[docs] def web_get_delete_url(self): """ Returns the URI path for a View that allows users to delete this object. @@ -305,8 +311,10 @@ a named view of 'character-detail' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', - CharDeleteView.as_view(), name='character-delete') + :: + + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', + CharDeleteView.as_view(), name='character-delete') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -324,7 +332,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except: + except Exception: return "#"
# Used by Django Sites/Admin diff --git a/docs/0.9.5/_modules/evennia/locks/lockfuncs.html b/docs/0.9.5/_modules/evennia/locks/lockfuncs.html index a33b3319ba..af555513a7 100644 --- a/docs/0.9.5/_modules/evennia/locks/lockfuncs.html +++ b/docs/0.9.5/_modules/evennia/locks/lockfuncs.html @@ -52,81 +52,6 @@ with a lock variable/field, so be careful to not expect a certain object type. - -**Appendix: MUX locks** - -Below is a list nicked from the MUX help file on the locks available -in standard MUX. Most of these are not relevant to core Evennia since -locks in Evennia are considerably more flexible and can be implemented -on an individual command/typeclass basis rather than as globally -available like the MUX ones. So many of these are not available in -basic Evennia, but could all be implemented easily if needed for the -individual game. - -``` -MUX Name: Affects: Effect: ----------------------------------------------------------------------- -DefaultLock: Exits: controls who may traverse the exit to - its destination. - Evennia: "traverse:<lockfunc()>" - Rooms: controls whether the account sees the - SUCC or FAIL message for the room - following the room description when - looking at the room. - Evennia: Custom typeclass - Accounts/Things: controls who may GET the object. - Evennia: "get:<lockfunc()" - EnterLock: Accounts/Things: controls who may ENTER the object - Evennia: - GetFromLock: All but Exits: controls who may gets things from a - given location. - Evennia: - GiveLock: Accounts/Things: controls who may give the object. - Evennia: - LeaveLock: Accounts/Things: controls who may LEAVE the object. - Evennia: - LinkLock: All but Exits: controls who may link to the location - if the location is LINK_OK (for linking - exits or setting drop-tos) or ABODE (for - setting homes) - Evennia: - MailLock: Accounts: controls who may @mail the account. - Evennia: - OpenLock: All but Exits: controls who may open an exit. - Evennia: - PageLock: Accounts: controls who may page the account. - Evennia: "send:<lockfunc()>" - ParentLock: All: controls who may make @parent links to - the object. - Evennia: Typeclasses and - "puppet:<lockstring()>" - ReceiveLock: Accounts/Things: controls who may give things to the - object. - Evennia: - SpeechLock: All but Exits: controls who may speak in that location - Evennia: - TeloutLock: All but Exits: controls who may teleport out of the - location. - Evennia: - TportLock: Rooms/Things: controls who may teleport there - Evennia: - UseLock: All but Exits: controls who may USE the object, GIVE - the object money and have the PAY - attributes run, have their messages - heard and possibly acted on by LISTEN - and AxHEAR, and invoke $-commands - stored on the object. - Evennia: Commands and Cmdsets. - DropLock: All but rooms: controls who may drop that object. - Evennia: - VisibleLock: All: Controls object visibility when the - object is not dark and the looker - passes the lock. In DARK locations, the - object must also be set LIGHT and the - viewer must pass the VisibleLock. - Evennia: Room typeclass with - Dark/light script -``` """ @@ -153,16 +78,21 @@
[docs]def true(*args, **kwargs): - "Always returns True." - return True
+ """ + Always returns True. + """ + return True
[docs]def all(*args, **kwargs): return True
[docs]def false(*args, **kwargs): - "Always returns False" + """ + Always returns False + + """ return False
@@ -170,6 +100,10 @@ return False
+
[docs]def superuser(*args, **kwargs): + return False
+ +
[docs]def self(accessing_obj, accessed_obj, *args, **kwargs): """ Check if accessing_obj is the same as accessed_obj @@ -685,17 +619,6 @@ return False
-
[docs]def superuser(*args, **kwargs): - """ - Only accepts an accesing_obj that is superuser (e.g. user #1) - - Since a superuser would not ever reach this check (superusers - bypass the lock entirely), any user who gets this far cannot be a - superuser, hence we just return False. :) - """ - return False
- -
[docs]def has_account(accessing_obj, accessed_obj, *args, **kwargs): """ Only returns true if accessing_obj has_account is true, that is, diff --git a/docs/0.9.5/_modules/evennia/locks/lockhandler.html b/docs/0.9.5/_modules/evennia/locks/lockhandler.html index 16b970fd6a..f79c9035fb 100644 --- a/docs/0.9.5/_modules/evennia/locks/lockhandler.html +++ b/docs/0.9.5/_modules/evennia/locks/lockhandler.html @@ -165,6 +165,7 @@
[docs]class LockException(Exception): """ Raised during an error in a lock. + """ pass
@@ -180,6 +181,7 @@ def _cache_lockfuncs(): """ Updates the cache. + """ global _LOCKFUNCS _LOCKFUNCS = {} @@ -204,7 +206,7 @@ # -
[docs]class LockHandler(object): +
[docs]class LockHandler: """ This handler should be attached to all objects implementing permission checks, under the property 'lockhandler'. @@ -274,7 +276,8 @@ funcname, rest = (part.strip().strip(")") for part in funcstring.split("(", 1)) func = _LOCKFUNCS.get(funcname, None) if not callable(func): - elist.append(_("Lock: lock-function '%s' is not available.") % funcstring) + elist.append(_("Lock: lock-function '{lockfunc}' is not available.").format( + lockfunc=funcstring)) continue args = list(arg.strip() for arg in rest.split(",") if arg and "=" not in arg) kwargs = dict( @@ -301,16 +304,13 @@ continue if access_type in locks: duplicates += 1 - wlist.append( - _( - "LockHandler on %(obj)s: access type '%(access_type)s' changed from '%(source)s' to '%(goal)s' " - % { - "obj": self.obj, - "access_type": access_type, - "source": locks[access_type][2], - "goal": raw_lockstring, - } - ) + wlist.append(_( + "LockHandler on {obj}: access type '{access_type}' " + "changed from '{source}' to '{goal}' ".format( + obj=self.obj, + access_type=access_type, + source=locks[access_type][2], + goal=raw_lockstring)) ) locks[access_type] = (evalstring, tuple(lock_funcs), raw_lockstring) if wlist and WARNING_LOG: @@ -325,12 +325,14 @@ def _cache_locks(self, storage_lockstring): """ Store data + """ self.locks = self._parse_lockstring(storage_lockstring) def _save_locks(self): """ Store locks to obj + """ self.obj.lock_storage = ";".join([tup[2] for tup in self.locks.values()]) @@ -734,6 +736,28 @@ access_type=access_type, ) +def check_perm(obj, permission, no_superuser_bypass=False): + """ + Shortcut for checking if an object has the given `permission`. If the + permission is in `settings.PERMISSION_HIERARCHY`, the check passes + if the object has this permission or higher. + + This is equivalent to calling the perm() lockfunc, but without needing + an accessed object. + + Args: + obj (Object, Account): The object to check access. If this has a linked + Account, the account is checked instead (same rules as per perm()). + permission (str): The permission string to check. + no_superuser_bypass (bool, optional): If unset, the superuser + will always pass this check. + + """ + from evennia.locks.lockfuncs import perm + if not no_superuser_bypass and obj.is_superuser: + return True + return perm(obj, None, permission) + def validate_lockstring(lockstring): """ diff --git a/docs/0.9.5/_modules/evennia/objects/admin.html b/docs/0.9.5/_modules/evennia/objects/admin.html deleted file mode 100644 index 57061a8c47..0000000000 --- a/docs/0.9.5/_modules/evennia/objects/admin.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - - evennia.objects.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.objects.admin

-#
-# This sets up how models are displayed
-# in the web admin interface.
-#
-from django import forms
-from django.conf import settings
-from django.contrib import admin
-from evennia.typeclasses.admin import AttributeInline, TagInline
-from evennia.objects.models import ObjectDB
-from django.contrib.admin.utils import flatten_fieldsets
-from django.utils.translation import gettext as _
-
-
-
[docs]class ObjectAttributeInline(AttributeInline): - """ - Defines inline descriptions of Attributes (experimental) - - """ - - model = ObjectDB.db_attributes.through - related_field = "objectdb"
- - -
[docs]class ObjectTagInline(TagInline): - """ - Defines inline descriptions of Tags (experimental) - - """ - - model = ObjectDB.db_tags.through - related_field = "objectdb"
- - -
[docs]class ObjectCreateForm(forms.ModelForm): - """ - This form details the look of the fields. - - """ - -
[docs] class Meta(object): - model = ObjectDB - fields = "__all__"
- - db_key = forms.CharField( - label="Name/Key", - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Main identifier, like 'apple', 'strong guy', 'Elizabeth' etc. " - "If creating a Character, check so the name is unique among characters!", - ) - db_typeclass_path = forms.CharField( - label="Typeclass", - initial=settings.BASE_OBJECT_TYPECLASS, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="This defines what 'type' of entity this is. This variable holds a " - "Python path to a module with a valid Evennia Typeclass. If you are " - "creating a Character you should use the typeclass defined by " - "settings.BASE_CHARACTER_TYPECLASS or one derived from that.", - ) - db_cmdset_storage = forms.CharField( - label="CmdSet", - initial="", - required=False, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Most non-character objects don't need a cmdset" - " and can leave this field blank.", - ) - raw_id_fields = ("db_destination", "db_location", "db_home")
- - -
[docs]class ObjectEditForm(ObjectCreateForm): - """ - Form used for editing. Extends the create one with more fields - - """ - -
[docs] class Meta(object): - fields = "__all__"
- - db_lock_storage = forms.CharField( - label="Locks", - required=False, - widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}), - help_text="In-game lock definition string. If not given, defaults will be used. " - "This string should be on the form " - "<i>type:lockfunction(args);type2:lockfunction2(args);...", - )
- - -
[docs]class ObjectDBAdmin(admin.ModelAdmin): - """ - Describes the admin page for Objects. - - """ - - inlines = [ObjectTagInline, ObjectAttributeInline] - list_display = ("id", "db_key", "db_account", "db_typeclass_path") - list_display_links = ("id", "db_key") - ordering = ["db_account", "db_typeclass_path", "id"] - search_fields = ["=id", "^db_key", "db_typeclass_path", "^db_account__db_key"] - raw_id_fields = ("db_destination", "db_location", "db_home") - - save_as = True - save_on_top = True - list_select_related = True - list_filter = ("db_typeclass_path",) - - # editing fields setup - - form = ObjectEditForm - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - ("db_lock_storage",), - ("db_location", "db_home"), - "db_destination", - "db_cmdset_storage", - ) - }, - ), - ) - - add_form = ObjectCreateForm - add_fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - ("db_location", "db_home"), - "db_destination", - "db_cmdset_storage", - ) - }, - ), - ) - -
[docs] def get_fieldsets(self, request, obj=None): - """ - Return fieldsets. - - Args: - request (Request): Incoming request. - obj (ObjectDB, optional): Database object. - """ - if not obj: - return self.add_fieldsets - return super().get_fieldsets(request, obj)
- -
[docs] def get_form(self, request, obj=None, **kwargs): - """ - Use special form during creation. - - Args: - request (Request): Incoming request. - obj (Object, optional): Database object. - - """ - defaults = {} - if obj is None: - defaults.update( - {"form": self.add_form, "fields": flatten_fieldsets(self.add_fieldsets)} - ) - defaults.update(kwargs) - return super().get_form(request, obj, **defaults)
- -
[docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=obj.db_typeclass_path) - obj.basetype_setup() - obj.basetype_posthook_setup() - obj.at_object_creation() - obj.at_init()
- -
[docs] def response_add(self, request, obj, post_url_continue=None): - from django.http import HttpResponseRedirect - from django.urls import reverse - - return HttpResponseRedirect(reverse("admin:objects_objectdb_change", args=[obj.id]))
- - -admin.site.register(ObjectDB, ObjectDBAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/objects/manager.html b/docs/0.9.5/_modules/evennia/objects/manager.html index fa79edaad1..f40d3bb5c3 100644 --- a/docs/0.9.5/_modules/evennia/objects/manager.html +++ b/docs/0.9.5/_modules/evennia/objects/manager.html @@ -43,7 +43,6 @@ Custom manager for Objects. """ import re -from itertools import chain from django.db.models import Q from django.conf import settings from django.db.models.fields import exceptions @@ -195,7 +194,8 @@ Args: attribute_name (str): Attribute key to search for. - attribute_value (any): Attribute value to search for. This can also be database objects. + attribute_value (any): Attribute value to search for. This can also be database + objects. candidates (list, optional): Candidate objects to limit search to. typeclasses (list, optional): Python pats to restrict matches with. @@ -632,6 +632,7 @@ """ Clear the db_sessid field of all objects having also the db_account field set. + """ self.filter(db_sessid__isnull=False).update(db_sessid=None) diff --git a/docs/0.9.5/_modules/evennia/objects/models.html b/docs/0.9.5/_modules/evennia/objects/models.html index ae0b04f4da..931679cee2 100644 --- a/docs/0.9.5/_modules/evennia/objects/models.html +++ b/docs/0.9.5/_modules/evennia/objects/models.html @@ -66,7 +66,7 @@ from evennia.utils.utils import make_iter, dbref, lazy_property -
[docs]class ContentsHandler: +
[docs]class ContentsHandler: """ Handles and caches the contents of an object to avoid excessive lookups (this is done very often due to cmdhandler needing to look @@ -74,7 +74,7 @@ of the ObjectDB. """ -
[docs] def __init__(self, obj): +
[docs] def __init__(self, obj): """ Sets up the contents handler. @@ -89,7 +89,7 @@ self._typecache = defaultdict(set) self.init()
-
[docs] def load(self): +
[docs] def load(self): """ Retrieves all objects from database. Used for initializing. @@ -98,7 +98,7 @@ """ return list(self.obj.locations_set.all())
-
[docs] def init(self): +
[docs] def init(self): """ Re-initialize the content cache @@ -109,7 +109,7 @@ for ctype in obj._content_types: self._typecache[ctype].add(obj.pk)
-
[docs] def get(self, exclude=None, content_type=None): +
[docs] def get(self, exclude=None, content_type=None): """ Return the contents of the cache. @@ -140,7 +140,7 @@ logger.log_err("contents cache failed for %s." % self.obj.key) return self.load()
-
[docs] def add(self, obj): +
[docs] def add(self, obj): """ Add a new object to this location @@ -152,7 +152,7 @@ for ctype in obj._content_types: self._typecache[ctype].add(obj.pk)
-
[docs] def remove(self, obj): +
[docs] def remove(self, obj): """ Remove object from this location @@ -165,7 +165,7 @@ if obj.pk in self._typecache[ctype]: self._typecache[ctype].remove(obj.pk)
-
[docs] def clear(self): +
[docs] def clear(self): """ Clear the contents cache and re-initialize @@ -182,7 +182,7 @@ # ------------------------------------------------------------- -
[docs]class ObjectDB(TypedObject): +
[docs]class ObjectDB(TypedObject): """ All objects in the game use the ObjectDB model to store data in the database. This is handled transparently through @@ -301,7 +301,7 @@ __defaultclasspath__ = "evennia.objects.objects.DefaultObject" __applabel__ = "objects" -
[docs] @lazy_property +
[docs] @lazy_property def contents_cache(self): return ContentsHandler(self)
@@ -393,7 +393,7 @@ location = property(__location_get, __location_set, __location_del) -
[docs] def at_db_location_postsave(self, new): +
[docs] def at_db_location_postsave(self, new): """ This is called automatically after the location field was saved, no matter how. It checks for a variable @@ -419,7 +419,7 @@ ) [o.contents_cache.init() for o in self.__dbclass__.get_all_cached_instances()]
- class Meta(object): + class Meta: """Define Django meta options""" verbose_name = "Object" diff --git a/docs/0.9.5/_modules/evennia/objects/objects.html b/docs/0.9.5/_modules/evennia/objects/objects.html index 6b81435803..3cf83d47d1 100644 --- a/docs/0.9.5/_modules/evennia/objects/objects.html +++ b/docs/0.9.5/_modules/evennia/objects/objects.html @@ -49,33 +49,23 @@ """ import time -import inflect from collections import defaultdict +import inflect from django.conf import settings +from django.utils.translation import gettext as _ -from evennia.typeclasses.models import TypeclassBase -from evennia.typeclasses.attributes import NickHandler, ModelAttributeBackend +from evennia.commands import cmdset +from evennia.commands.cmdsethandler import CmdSetHandler from evennia.objects.manager import ObjectManager from evennia.objects.models import ObjectDB from evennia.scripts.scripthandler import ScriptHandler -from evennia.commands import cmdset, command -from evennia.commands.cmdsethandler import CmdSetHandler -from evennia.utils import funcparser -from evennia.utils import create -from evennia.utils import search -from evennia.utils import logger -from evennia.utils import ansi -from evennia.utils.utils import ( - class_from_module, - variable_from_module, - lazy_property, - make_iter, - is_iter, - list_to_string, - to_str, -) -from django.utils.translation import gettext as _ +from evennia.typeclasses.attributes import ModelAttributeBackend, NickHandler +from evennia.typeclasses.models import TypeclassBase +from evennia.utils import ansi, create, funcparser, logger, search +from evennia.utils.utils import (class_from_module, is_iter, lazy_property, + list_to_string, make_iter, to_str, + variable_from_module) _INFLECT = inflect.engine() _MULTISESSION_MODE = settings.MULTISESSION_MODE @@ -90,16 +80,18 @@ _SESSID_MAX = 16 if _MULTISESSION_MODE in (1, 3) else 1 _MSG_CONTENTS_PARSER = funcparser.FuncParser( - {"you": funcparser.funcparser_callable_you, - "You": funcparser.funcparser_callable_You, - "conj": funcparser.funcparser_callable_conjugate - }) + { + "you": funcparser.funcparser_callable_you, + "You": funcparser.funcparser_callable_You, + "conj": funcparser.funcparser_callable_conjugate + } +) -
[docs]class ObjectSessionHandler(object): +
[docs]class ObjectSessionHandler: """ - Handles the get/setting of the sessid - comma-separated integer field + Handles the get/setting of the sessid comma-separated integer field + """
[docs] def __init__(self, obj): @@ -157,7 +149,7 @@ ] if None in sessions: # this happens only if our cache has gone out of sync with the SessionHandler. - self._recache() + return self.get(sessid=sessid) return sessions
@@ -348,6 +340,7 @@ """ Returns all exits from this object, i.e. all objects at this location having the property destination != `None`. + """ return [exi for exi in self.contents if exi.destination] @@ -394,6 +387,7 @@ Returns: singular (str): The singular form to display. plural (str): The determined plural form of the key, including the count. + """ plural_category = "plural_key" key = kwargs.get("key", self.key) @@ -749,6 +743,7 @@ Keyword Args: Keyword arguments will be passed to the function for all objects. + """ contents = self.contents if exclude: @@ -996,6 +991,7 @@ """ Destroys all of the exits and any exits pointing to this object as a destination. + """ for out_exit in [exi for exi in ObjectDB.objects.get_contents(self) if exi.db_destination]: out_exit.delete() @@ -1006,6 +1002,7 @@ """ Moves all objects (accounts/things) to their home location or to default home. + """ # Gather up everything that thinks this is its location. default_home_id = int(settings.DEFAULT_HOME.lstrip("#")) @@ -1028,11 +1025,10 @@ # If for some reason it's still None... if not home: - string = "Missing default home, '%s(#%d)' " - string += "now has a null location." obj.location = None obj.msg(_("Something went wrong! You are dumped into nowhere. Contact an admin.")) - logger.log_err(string % (obj.name, obj.dbid)) + logger.log_err("Missing default home - '{name}(#{dbid})' now " + "has a null location.".format(name=obj.name, dbid=obj.dbid)) return if obj.has_account: @@ -1146,8 +1142,8 @@
[docs] def at_object_post_copy(self, new_obj, **kwargs): """ - Called by DefaultObject.copy(). Meant to be overloaded. In case there's extra data not covered by - .copy(), this can be used to deal with it. + Called by DefaultObject.copy(). Meant to be overloaded. In case there's extra data not + covered by .copy(), this can be used to deal with it. Args: new_obj (Object): The new Copy of this object. @@ -1588,7 +1584,8 @@ if not source_location and self.location.has_account: # This was created from nowhere and added to an account's # inventory; it's probably the result of a create command. - string = "You now have %s in your possession." % self.get_display_name(self.location) + string = _("You now have {name} in your possession.").format( + name=self.get_display_name(self.location)) self.location.msg(string) return @@ -1596,9 +1593,9 @@ if msg: string = msg else: - string = "{object} arrives to {destination} from {origin}." + string = _("{object} arrives to {destination} from {origin}.") else: - string = "{object} arrives to {destination}." + string = _("{object} arrives to {destination}.") origin = source_location destination = self.location @@ -2005,7 +2002,8 @@ a say. This is sent by the whisper command by default. Other verbal commands could use this hook in similar ways. - receivers (Object or iterable): If set, this is the target or targets for the say/whisper. + receivers (Object or iterable): If set, this is the target or targets for the + say/whisper. Returns: message (str): The (possibly modified) text to be spoken. @@ -2036,8 +2034,8 @@ msg_self (bool or str, optional): If boolean True, echo `message` to self. If a string, return that message. If False or unset, don't echo to self. msg_location (str, optional): The message to echo to self's location. - receivers (Object or iterable, optional): An eventual receiver or receivers of the message - (by default only used by whispers). + receivers (Object or iterable, optional): An eventual receiver or receivers of the + message (by default only used by whispers). msg_receivers(str): Specific message to pass to the receiver(s). This will parsed with the {receiver} placeholder replaced with the given receiver. Keyword Args: @@ -2071,7 +2069,8 @@ # whisper mode msg_type = "whisper" msg_self = ( - '{self} whisper to {all_receivers}, "|n{speech}|n"' if msg_self is True else msg_self + '{self} whisper to {all_receivers}, "|n{speech}|n"' + if msg_self is True else msg_self ) msg_receivers = msg_receivers or '{object} whispers: "|n{speech}|n"' msg_location = None @@ -2204,7 +2203,7 @@ key = cls.normalize_name(key) if not cls.validate_name(key): - errors.append("Invalid character name.") + errors.append(_("Invalid character name.")) return obj, errors # Set the supplied key as the name of the intended object @@ -2223,7 +2222,7 @@ # Check to make sure account does not have too many chars if account: if len(account.characters) >= settings.MAX_NR_CHARACTERS: - errors.append("There are too many characters associated with this account.") + errors.append(_("There are too many characters associated with this account.")) return obj, errors # Create the Character @@ -2239,7 +2238,8 @@ # Add locks if not locks and account: - # Allow only the character itself and the creator account to puppet this character (and Developers). + # Allow only the character itself and the creator account to puppet this character + # (and Developers). locks = cls.lockstring.format(**{"character_id": obj.id, "account_id": account.id}) elif not locks and not account: locks = cls.lockstring.format(**{"character_id": obj.id, "account_id": -1}) @@ -2248,10 +2248,10 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is a character." + obj.db.desc = description if description else _("This is a character.") except Exception as e: - errors.append("An error occurred while creating this '%s' object." % key) + errors.append(f"An error occurred while creating object '{key} object.") logger.log_err(e) return obj, errors
@@ -2259,9 +2259,10 @@
[docs] @classmethod def normalize_name(cls, name): """ - Normalize the character name prior to creating. Note that this should be refactored - to support i18n for non-latin scripts, but as we (currently) have no bug reports requesting better - support of non-latin character sets, requiring character names to be latinified is an acceptable option. + Normalize the character name prior to creating. Note that this should be refactored to + support i18n for non-latin scripts, but as we (currently) have no bug reports requesting + better support of non-latin character sets, requiring character names to be latinified is an + acceptable option. Args: name (str) : The name of the character @@ -2319,6 +2320,7 @@ Args: account (Account): This is the connecting account. session (Session): Session controlling the connection. + """ if ( self.location is None @@ -2332,7 +2334,8 @@ self.db.prelogout_location = self.location # save location again to be sure. else: account.msg( - "|r%s has no location and no home is set.|n" % self, session=session + _("|r{obj} has no location and no home is set.|n").format(obj=self), + session=session ) # Note to set home.
[docs] def at_post_puppet(self, **kwargs): @@ -2350,11 +2353,12 @@ puppeting this Object. """ - self.msg("\nYou become |c%s|n.\n" % self.name) + self.msg(_("\nYou become |c{name}|n.\n").format(name=self.key)) self.msg((self.at_look(self.location), {"type": "look"}), options=None) def message(obj, from_obj): - obj.msg("%s has entered the game." % self.get_display_name(obj), from_obj=from_obj) + obj.msg(_("{name} has entered the game.").format(name=self.get_display_name(obj)), + from_obj=from_obj) self.location.for_contents(message, exclude=[self], from_obj=self)
@@ -2377,7 +2381,8 @@ if self.location: def message(obj, from_obj): - obj.msg("%s has left the game." % self.get_display_name(obj), from_obj=from_obj) + obj.msg(_("{name} has left the game.").format(name=self.get_display_name(obj)), + from_obj=from_obj) self.location.for_contents(message, exclude=[self], from_obj=self) self.db.prelogout_location = self.location @@ -2388,6 +2393,7 @@ """ Returns the idle time of the least idle session in seconds. If no sessions are connected it returns nothing. + """ idle = [session.cmd_last_visible for session in self.sessions.all()] if idle: @@ -2399,6 +2405,7 @@ """ Returns the maximum connection time of all connected sessions in seconds. Returns nothing if there are no sessions. + """ conn = [session.conn_time for session in self.sessions.all()] if conn: @@ -2492,7 +2499,7 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is a room." + obj.db.desc = description if description else _("This is a room.") except Exception as e: errors.append("An error occurred while creating this '%s' object." % key) @@ -2554,7 +2561,9 @@ overriding the call (unused by default). Returns: - A string with identifying information to disambiguate the command, conventionally with a preceding space. + A string with identifying information to disambiguate the command, conventionally with a + preceding space. + """ if self.obj.destination: return " (exit to %s)" % self.obj.destination.get_display_name(caller) @@ -2696,7 +2705,7 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is an exit." + obj.db.desc = description if description else _("This is an exit.") except Exception as e: errors.append("An error occurred while creating this '%s' object." % key) @@ -2793,7 +2802,7 @@ read for an error string instead. """ - traversing_object.msg("You cannot go there.")
+ traversing_object.msg(_("You cannot go there."))
diff --git a/docs/0.9.5/_modules/evennia/prototypes/protfuncs.html b/docs/0.9.5/_modules/evennia/prototypes/protfuncs.html index 215096c325..6c33769fe7 100644 --- a/docs/0.9.5/_modules/evennia/prototypes/protfuncs.html +++ b/docs/0.9.5/_modules/evennia/prototypes/protfuncs.html @@ -92,8 +92,6 @@ return prot_value
- - # this is picked up by FuncParser FUNCPARSER_CALLABLES = { "protkey": protfunc_callable_protkey, diff --git a/docs/0.9.5/_modules/evennia/prototypes/prototypes.html b/docs/0.9.5/_modules/evennia/prototypes/prototypes.html index 013c6f63f6..f5480d0a6d 100644 --- a/docs/0.9.5/_modules/evennia/prototypes/prototypes.html +++ b/docs/0.9.5/_modules/evennia/prototypes/prototypes.html @@ -48,10 +48,10 @@ import hashlib import time -from ast import literal_eval from django.conf import settings -from django.db.models import Q, Subquery +from django.db.models import Q from django.core.paginator import Paginator +from django.utils.translation import gettext as _ from evennia.scripts.scripts import DefaultScript from evennia.objects.models import ObjectDB from evennia.typeclasses.attributes import Attribute @@ -63,10 +63,6 @@ make_iter, is_iter, dbid_to_obj, - callables_from_module, - get_all_typeclasses, - to_str, - dbref, justify, class_from_module, ) @@ -99,6 +95,8 @@ "tags", "attrs", ) +_ERRSTR = _("Error") +_WARNSTR = _("Warning") PROTOTYPE_TAG_CATEGORY = "from_prototype" _PROTOTYPE_TAG_META_CATEGORY = "db_prototype" @@ -125,7 +123,6 @@ """ Homogenize the more free-form prototype supported pre Evennia 0.7 into the stricter form. - Args: prototype (dict): Prototype. custom_keys (list, optional): Custom keys which should not be interpreted as attrs, beyond @@ -252,6 +249,7 @@
[docs]class DbPrototype(DefaultScript): """ This stores a single prototype, in an Attribute `prototype`. + """
[docs] def at_script_creation(self): @@ -303,7 +301,7 @@ prototype_key = in_prototype.get("prototype_key") if not prototype_key: - raise ValidationError("Prototype requires a prototype_key") + raise ValidationError(_("Prototype requires a prototype_key")) prototype_key = str(prototype_key).lower() @@ -311,7 +309,8 @@ if prototype_key in _MODULE_PROTOTYPES: mod = _MODULE_PROTOTYPE_MODULES.get(prototype_key, "N/A") raise PermissionError( - "{} is a read-only prototype " "(defined as code in {}).".format(prototype_key, mod) + _("{protkey} is a read-only prototype " "(defined as code in {module}).").format( + protkey=prototype_key, module=mod) ) # make sure meta properties are included with defaults @@ -378,20 +377,23 @@ if prototype_key in _MODULE_PROTOTYPES: mod = _MODULE_PROTOTYPE_MODULES.get(prototype_key.lower(), "N/A") raise PermissionError( - "{} is a read-only prototype " "(defined as code in {}).".format(prototype_key, mod) + _("{protkey} is a read-only prototype " "(defined as code in {module}).").format( + protkey=prototype_key, module=mod) ) stored_prototype = DbPrototype.objects.filter(db_key__iexact=prototype_key) if not stored_prototype: - raise PermissionError("Prototype {} was not found.".format(prototype_key)) + raise PermissionError(_("Prototype {prototype_key} was not found.").format( + prototype_key=prototype_key)) stored_prototype = stored_prototype[0] if caller: if not stored_prototype.access(caller, "edit"): raise PermissionError( - "{} needs explicit 'edit' permissions to " - "delete prototype {}.".format(caller, prototype_key) + _("{caller} needs explicit 'edit' permissions to " + "delete prototype {prototype_key}.").format( + caller=caller, prototype_key=prototype_key) ) stored_prototype.delete() return True
@@ -490,7 +492,11 @@ nmodules = len(module_prototypes) ndbprots = db_matches.count() if nmodules + ndbprots != 1: - raise KeyError(f"Found {nmodules + ndbprots} matching prototypes {module_prototypes}.") + raise KeyError(_( + "Found {num} matching prototypes {module_prototypes}.").format( + num=nmodules + ndbprots, + module_prototypes=module_prototypes) + ) if return_iterators: # trying to get the entire set of prototypes - we must paginate @@ -520,10 +526,14 @@ Listing 1000+ prototypes can be very slow. So we customize EvMore to display an EvTable per paginated page rather than to try creating an EvTable for the entire dataset and then paginate it. + """
[docs] def __init__(self, caller, *args, session=None, **kwargs): - """Store some extra properties on the EvMore class""" + """ + Store some extra properties on the EvMore class + + """ self.show_non_use = kwargs.pop("show_non_use", False) self.show_non_edit = kwargs.pop("show_non_edit", False) super().__init__(caller, *args, session=session, **kwargs)
@@ -534,6 +544,7 @@ and we must handle these separately since they cannot be paginated in the same way. We will build the prototypes so that the db-prototypes come first (they are likely the most volatile), followed by the mod-prototypes. + """ dbprot_query, modprot_list = inp # set the number of entries per page to half the reported height of the screen @@ -555,6 +566,7 @@ """ The listing is separated in db/mod prototypes, so we need to figure out which one to pick based on the page number. Also, pageno starts from 0. + """ dbprot_pages, modprot_list = self._data @@ -563,15 +575,16 @@ else: # get the correct slice, adjusted for the db-prototypes pageno = max(0, pageno - self._npages_db) - return modprot_list[pageno * self.height : pageno * self.height + self.height]
+ return modprot_list[pageno * self.height: pageno * self.height + self.height]
[docs] def page_formatter(self, page): - """Input is a queryset page from django.Paginator""" + """ + Input is a queryset page from django.Paginator + + """ caller = self._caller # get use-permissions of readonly attributes (edit is always False) - display_tuples = [] - table = EvTable( "|wKey|n", "|wSpawn/Edit|n", @@ -640,7 +653,7 @@ dbprot_query, modprot_list = search_prototype(key, tags, return_iterators=True) if not dbprot_query and not modprot_list: - caller.msg("No prototypes found.", session=session) + caller.msg(_("No prototypes found."), session=session) return None # get specific prototype (one value or exception) @@ -691,7 +704,7 @@ protkey = protkey and protkey.lower() or prototype.get("prototype_key", None) if strict and not bool(protkey): - _flags["errors"].append("Prototype lacks a `prototype_key`.") + _flags["errors"].append(_("Prototype lacks a 'prototype_key'.")) protkey = "[UNSET]" typeclass = prototype.get("typeclass") @@ -700,12 +713,13 @@ if strict and not (typeclass or prototype_parent): if is_prototype_base: _flags["errors"].append( - "Prototype {} requires `typeclass` " "or 'prototype_parent'.".format(protkey) + _("Prototype {protkey} requires `typeclass` " "or 'prototype_parent'.").format( + protkey=protkey) ) else: _flags["warnings"].append( - "Prototype {} can only be used as a mixin since it lacks " - "a typeclass or a prototype_parent.".format(protkey) + _("Prototype {protkey} can only be used as a mixin since it lacks " + "'typeclass' or 'prototype_parent' keys.").format(protkey=protkey) ) if strict and typeclass: @@ -713,9 +727,9 @@ class_from_module(typeclass) except ImportError as err: _flags["errors"].append( - "{}: Prototype {} is based on typeclass {}, which could not be imported!".format( - err, protkey, typeclass - ) + _("{err}: Prototype {protkey} is based on typeclass {typeclass}, " + "which could not be imported!").format( + err=err, protkey=protkey, typeclass=typeclass) ) # recursively traverese prototype_parent chain @@ -723,19 +737,22 @@ for protstring in make_iter(prototype_parent): protstring = protstring.lower() if protkey is not None and protstring == protkey: - _flags["errors"].append("Prototype {} tries to parent itself.".format(protkey)) + _flags["errors"].append(_("Prototype {protkey} tries to parent itself.").format( + protkey=protkey)) protparent = protparents.get(protstring) if not protparent: _flags["errors"].append( - "Prototype {}'s prototype_parent '{}' was not found.".format(protkey, protstring) + _("Prototype {protkey}'s prototype_parent '{parent}' was not found.").format( + protkey=protkey, parent=protstring) ) if id(prototype) in _flags["visited"]: _flags["errors"].append( - "{} has infinite nesting of prototypes.".format(protkey or prototype) + _("{protkey} has infinite nesting of prototypes.").format( + protkey=protkey or prototype) ) if _flags["errors"]: - raise RuntimeError("Error: " + "\nError: ".join(_flags["errors"])) + raise RuntimeError(f"{_ERRSTR}: " + f"\n{_ERRSTR}: ".join(_flags["errors"])) _flags["visited"].append(id(prototype)) _flags["depth"] += 1 validate_prototype( @@ -750,16 +767,16 @@ # if we get back to the current level without a typeclass it's an error. if strict and is_prototype_base and _flags["depth"] <= 0 and not _flags["typeclass"]: _flags["errors"].append( - "Prototype {} has no `typeclass` defined anywhere in its parent\n " - "chain. Add `typeclass`, or a `prototype_parent` pointing to a " - "prototype with a typeclass.".format(protkey) + _("Prototype {protkey} has no `typeclass` defined anywhere in its parent\n " + "chain. Add `typeclass`, or a `prototype_parent` pointing to a " + "prototype with a typeclass.").format(protkey=protkey) ) if _flags["depth"] <= 0: if _flags["errors"]: - raise RuntimeError("Error: " + "\nError: ".join(_flags["errors"])) + raise RuntimeError(f"{_ERRSTR}:_" + f"\n{_ERRSTR}: ".join(_flags["errors"])) if _flags["warnings"]: - raise RuntimeWarning("Warning: " + "\nWarning: ".join(_flags["warnings"])) + raise RuntimeWarning(f"{_WARNSTR}: " + f"\n{_WARNSTR}: ".join(_flags["warnings"])) # make sure prototype_locks are set to defaults prototype_locks = [ @@ -872,10 +889,10 @@ category=category if category else "|wNone|n" ) out.append( - "{attrkey}{cat_locks} |c=|n {value}".format( + "{attrkey}{cat_locks}{locks} |c=|n {value}".format( attrkey=attrkey, cat_locks=cat_locks, - locks=locks if locks else "|wNone|n", + locks=" |w(locks:|n {locks})".format(locks=locks) if locks else "", value=value, ) ) diff --git a/docs/0.9.5/_modules/evennia/prototypes/spawner.html b/docs/0.9.5/_modules/evennia/prototypes/spawner.html index f5df424224..d1409cbac8 100644 --- a/docs/0.9.5/_modules/evennia/prototypes/spawner.html +++ b/docs/0.9.5/_modules/evennia/prototypes/spawner.html @@ -81,8 +81,8 @@ supported are 'edit' and 'use'. prototype_tags(list, optional): List of tags or tuples (tag, category) used to group prototype in listings - prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent prototype, or - a list of parents, for multiple left-to-right inheritance. + prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent + prototype, or a list of parents, for multiple left-to-right inheritance. prototype: Deprecated. Same meaning as 'parent'. typeclass (str or callable, optional): if not set, will use typeclass of parent prototype or use @@ -179,6 +179,7 @@ import time from django.conf import settings +from django.utils.translation import gettext as _ import evennia from evennia.objects.models import ObjectDB @@ -396,8 +397,8 @@ This is most useful for displaying. implicit_keep (bool, optional): If set, the resulting diff will assume KEEP unless the new prototype explicitly change them. That is, if a key exists in `prototype1` and - not in `prototype2`, it will not be REMOVEd but set to KEEP instead. This is particularly - useful for auto-generated prototypes when updating objects. + not in `prototype2`, it will not be REMOVEd but set to KEEP instead. This is + particularly useful for auto-generated prototypes when updating objects. Returns: diff (dict): A structure detailing how to convert prototype1 to prototype2. All @@ -510,8 +511,8 @@ out.extend(_get_all_nested_diff_instructions(val)) else: raise RuntimeError( - "Diff contains non-dicts that are not on the " - "form (old, new, inst): {}".format(diffpart) + _("Diff contains non-dicts that are not on the " + "form (old, new, action_to_take): {diffpart}").format(diffpart) ) return out @@ -734,11 +735,13 @@ elif key == "permissions": if directive == "REPLACE": obj.permissions.clear() - obj.permissions.batch_add(*(init_spawn_value(perm, str, caller=caller) for perm in val)) + obj.permissions.batch_add(*(init_spawn_value(perm, str, caller=caller) + for perm in val)) elif key == "aliases": if directive == "REPLACE": obj.aliases.clear() - obj.aliases.batch_add(*(init_spawn_value(alias, str, caller=caller) for alias in val)) + obj.aliases.batch_add(*(init_spawn_value(alias, str, caller=caller) + for alias in val)) elif key == "tags": if directive == "REPLACE": obj.tags.clear() @@ -964,7 +967,8 @@ create_kwargs["db_home"] = init_spawn_value(val, value_to_obj, caller=caller) else: try: - create_kwargs["db_home"] = init_spawn_value(settings.DEFAULT_HOME, value_to_obj, caller=caller) + create_kwargs["db_home"] = init_spawn_value( + settings.DEFAULT_HOME, value_to_obj, caller=caller) except ObjectDB.DoesNotExist: # settings.DEFAULT_HOME not existing is common for unittests pass @@ -986,7 +990,8 @@ val = prot.pop("tags", []) tags = [] for (tag, category, *data) in val: - tags.append((init_spawn_value(tag, str, caller=caller), category, data[0] if data else None)) + tags.append((init_spawn_value(tag, str, caller=caller), category, data[0] + if data else None)) prototype_key = prototype.get("prototype_key", None) if prototype_key: diff --git a/docs/0.9.5/_modules/evennia/scripts/admin.html b/docs/0.9.5/_modules/evennia/scripts/admin.html deleted file mode 100644 index 3f9579b74e..0000000000 --- a/docs/0.9.5/_modules/evennia/scripts/admin.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - - - evennia.scripts.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.scripts.admin

-#
-# This sets up how models are displayed
-# in the web admin interface.
-#
-from django.conf import settings
-
-from evennia.typeclasses.admin import AttributeInline, TagInline
-
-from evennia.scripts.models import ScriptDB
-from django.contrib import admin
-
-
-
[docs]class ScriptTagInline(TagInline): - """ - Inline script tags. - - """ - - model = ScriptDB.db_tags.through - related_field = "scriptdb"
- - -
[docs]class ScriptAttributeInline(AttributeInline): - """ - Inline attribute tags. - - """ - - model = ScriptDB.db_attributes.through - related_field = "scriptdb"
- - -
[docs]class ScriptDBAdmin(admin.ModelAdmin): - """ - Displaying the main Script page. - - """ - - list_display = ( - "id", - "db_key", - "db_typeclass_path", - "db_obj", - "db_interval", - "db_repeats", - "db_persistent", - ) - list_display_links = ("id", "db_key") - ordering = ["db_obj", "db_typeclass_path"] - search_fields = ["^db_key", "db_typeclass_path"] - save_as = True - save_on_top = True - list_select_related = True - raw_id_fields = ("db_obj",) - - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - "db_interval", - "db_repeats", - "db_start_delay", - "db_persistent", - "db_obj", - ) - }, - ), - ) - inlines = [ScriptTagInline, ScriptAttributeInline] - -
[docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=obj.db_typeclass_path)
- - -admin.site.register(ScriptDB, ScriptDBAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/scripts/models.html b/docs/0.9.5/_modules/evennia/scripts/models.html index 42cb62679c..edaebb492c 100644 --- a/docs/0.9.5/_modules/evennia/scripts/models.html +++ b/docs/0.9.5/_modules/evennia/scripts/models.html @@ -84,7 +84,7 @@ # ------------------------------------------------------------ -
[docs]class ScriptDB(TypedObject): +
[docs]class ScriptDB(TypedObject): """ The Script database representation. diff --git a/docs/0.9.5/_modules/evennia/scripts/monitorhandler.html b/docs/0.9.5/_modules/evennia/scripts/monitorhandler.html index 0213b0d2fc..4400da98c8 100644 --- a/docs/0.9.5/_modules/evennia/scripts/monitorhandler.html +++ b/docs/0.9.5/_modules/evennia/scripts/monitorhandler.html @@ -68,11 +68,13 @@ """ This is a resource singleton that allows for registering callbacks for when a field or Attribute is updated (saved). + """
[docs] def __init__(self): """ Initialize the handler. + """ self.savekey = "_monitorhandler_save" self.monitors = defaultdict(lambda: defaultdict(dict))
diff --git a/docs/0.9.5/_modules/evennia/scripts/scripts.html b/docs/0.9.5/_modules/evennia/scripts/scripts.html index d061c2bb58..4b4a11ac23 100644 --- a/docs/0.9.5/_modules/evennia/scripts/scripts.html +++ b/docs/0.9.5/_modules/evennia/scripts/scripts.html @@ -367,8 +367,8 @@ """ cname = self.__class__.__name__ estring = _( - "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." - ) % {"key": self.key, "dbid": self.dbid, "cname": cname, "err": e.getErrorMessage()} + "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'.".format( + key=self.key, dbid=self.dbid, name=cname, err=e.getErrorMessage())) try: self.db_obj.msg(estring) except Exception: diff --git a/docs/0.9.5/_modules/evennia/scripts/taskhandler.html b/docs/0.9.5/_modules/evennia/scripts/taskhandler.html index b07c115669..3538de691e 100644 --- a/docs/0.9.5/_modules/evennia/scripts/taskhandler.html +++ b/docs/0.9.5/_modules/evennia/scripts/taskhandler.html @@ -103,22 +103,28 @@ return TASK_HANDLER.get_deferred(self.task_id)
[docs] def pause(self): - """Pause the callback of a task. - To resume use TaskHandlerTask.unpause + """ + Pause the callback of a task. + To resume use `TaskHandlerTask.unpause`. + """ d = self.deferred if d: d.pause()
[docs] def unpause(self): - """Unpause a task, run the task if it has passed delay time.""" + """ + Unpause a task, run the task if it has passed delay time. + + """ d = self.deferred if d: d.unpause()
@property def paused(self): - """A task attribute to check if the deferred instance of a task has been paused. + """ + A task attribute to check if the deferred instance of a task has been paused. This exists to mock usage of a twisted deferred object. @@ -134,7 +140,8 @@ return None
[docs] def do_task(self): - """Execute the task (call its callback). + """ + Execute the task (call its callback). If calling before timedelay, cancel the deferred instance affliated to this task. Remove the task from the dictionary of current tasks on a successful callback. @@ -147,7 +154,8 @@ return TASK_HANDLER.do_task(self.task_id)
[docs] def call(self): - """Call the callback of a task. + """ + Call the callback of a task. Leave the task unaffected otherwise. This does not use the task's deferred instance. The only requirement is that the task exist in task handler. @@ -214,7 +222,8 @@ return None
[docs] def exists(self): - """Check if a task exists. + """ + Check if a task exists. Most task handler methods check for existence for you. Returns: @@ -224,7 +233,8 @@ return TASK_HANDLER.exists(self.task_id)
[docs] def get_id(self): - """ Returns the global id for this task. For use with + """ + Returns the global id for this task. For use with `evennia.scripts.taskhandler.TASK_HANDLER`. Returns: @@ -256,7 +266,7 @@ self.clock = reactor # number of seconds before an uncalled canceled task is removed from TaskHandler self.stale_timeout = 60 - self._now = False # used in unit testing to manually set now time
+ self._now = False # used in unit testing to manually set now time
[docs] def load(self): """Load from the ServerConfig. @@ -312,7 +322,10 @@ return True
[docs] def save(self): - """Save the tasks in ServerConfig.""" + """ + Save the tasks in ServerConfig. + + """ for task_id, (date, callback, args, kwargs, persistent, _) in self.tasks.items(): if task_id in self.to_save: @@ -327,14 +340,12 @@ callback = (obj, name) # Check if callback can be pickled. args and kwargs have been checked - safe_callback = None - - self.to_save[task_id] = dbserialize((date, callback, args, kwargs)) ServerConfig.objects.conf("delayed_tasks", self.to_save)
[docs] def add(self, timedelay, callback, *args, **kwargs): - """Add a new task. + """ + Add a new task. If the persistent kwarg is truthy: The callback, args and values for kwarg will be serialized. Type @@ -440,7 +451,8 @@ return TaskHandlerTask(task_id)
[docs] def exists(self, task_id): - """Check if a task exists. + """ + Check if a task exists. Most task handler methods check for existence for you. Args: @@ -456,7 +468,8 @@ return False
[docs] def active(self, task_id): - """Check if a task is active (has not been called yet). + """ + Check if a task is active (has not been called yet). Args: task_id (int): an existing task ID. @@ -474,7 +487,8 @@ return False
[docs] def cancel(self, task_id): - """Stop a task from automatically executing. + """ + Stop a task from automatically executing. This will not remove the task. Args: @@ -500,7 +514,8 @@ return False
[docs] def remove(self, task_id): - """Remove a task without executing it. + """ + Remove a task without executing it. Deletes the instance of the task's deferred. Args: @@ -526,8 +541,8 @@ return True
[docs] def clear(self, save=True, cancel=True): - """clear all tasks. - By default tasks are canceled and removed from the database also. + """ + Clear all tasks. By default tasks are canceled and removed from the database as well. Args: save=True (bool): Should changes to persistent tasks be saved to database. @@ -549,7 +564,8 @@ return True
[docs] def call_task(self, task_id): - """Call the callback of a task. + """ + Call the callback of a task. Leave the task unaffected otherwise. This does not use the task's deferred instance. The only requirement is that the task exist in task handler. @@ -569,7 +585,8 @@ return callback(*args, **kwargs)
[docs] def do_task(self, task_id): - """Execute the task (call its callback). + """ + Execute the task (call its callback). If calling before timedelay cancel the deferred instance affliated to this task. Remove the task from the dictionary of current tasks on a successful callback. @@ -614,7 +631,8 @@ return None
[docs] def create_delays(self): - """Create the delayed tasks for the persistent tasks. + """ + Create the delayed tasks for the persistent tasks. This method should be automatically called when Evennia starts. """ diff --git a/docs/0.9.5/_modules/evennia/server/admin.html b/docs/0.9.5/_modules/evennia/server/admin.html deleted file mode 100644 index 6eee2d3834..0000000000 --- a/docs/0.9.5/_modules/evennia/server/admin.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - evennia.server.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.server.admin

-#
-# This sets up how models are displayed
-# in the web admin interface.
-#
-
-from django.contrib import admin
-from evennia.server.models import ServerConfig
-
-
-
[docs]class ServerConfigAdmin(admin.ModelAdmin): - """ - Custom admin for server configs - - """ - - list_display = ("db_key", "db_value") - list_display_links = ("db_key",) - ordering = ["db_key", "db_value"] - search_fields = ["db_key"] - save_as = True - save_on_top = True - list_select_related = True
- - -admin.site.register(ServerConfig, ServerConfigAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/server/deprecations.html b/docs/0.9.5/_modules/evennia/server/deprecations.html index 0a7a2bba1a..3e972a9a05 100644 --- a/docs/0.9.5/_modules/evennia/server/deprecations.html +++ b/docs/0.9.5/_modules/evennia/server/deprecations.html @@ -45,7 +45,7 @@ These all print to the terminal. """ - +import os
[docs]def check_errors(settings): """ @@ -162,7 +162,23 @@ raise DeprecationWarning( "settings.CHANNEL_HANDLER_CLASS and CHANNEL COMMAND_CLASS are " "unused and should be removed. The ChannelHandler is no more; " - "channels are now handled by aliasing the default 'channel' command.")
+ "channels are now handled by aliasing the default 'channel' command.") + + template_overrides_dir = os.path.join(settings.GAME_DIR, "web", "template_overrides") + static_overrides_dir = os.path.join(settings.GAME_DIR, "web", "static_overrides") + if os.path.exists(template_overrides_dir): + raise DeprecationWarning( + f"The template_overrides directory ({template_overrides_dir}) has changed name.\n" + " - Rename your existing `template_overrides` folder to `templates` instead." + ) + if os.path.exists(static_overrides_dir): + raise DeprecationWarning( + f"The static_overrides directory ({static_overrides_dir}) has changed name.\n" + " 1. Delete any existing `web/static` folder and all its contents (this " + "was auto-generated)\n" + " 2. Rename your existing `static_overrides` folder to `static` instead." + )
+
[docs]def check_warnings(settings): """ diff --git a/docs/0.9.5/_modules/evennia/server/initial_setup.html b/docs/0.9.5/_modules/evennia/server/initial_setup.html index 817b059cbf..0d2e6f2144 100644 --- a/docs/0.9.5/_modules/evennia/server/initial_setup.html +++ b/docs/0.9.5/_modules/evennia/server/initial_setup.html @@ -66,13 +66,11 @@ """ -LIMBO_DESC = _( - """ -Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if you need -help, want to contribute, report issues or just join the community. -As Account #1 you can create a demo/tutorial area with '|wbatchcommand tutorial_world.build|n'. - """ -) +LIMBO_DESC = _(""" +Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if you need +help, want to contribute, report issues or just join the community. +As Account #1 you can create a demo/tutorial area with '|wbatchcommand tutorial_world.build|n'. +""") WARNING_POSTGRESQL_FIX = """ @@ -81,7 +79,7 @@ but the superuser was not yet connected to them. Please use in game commands to connect Account #1 to those channels when first logging in. - """ +"""
[docs]def get_god_account(): diff --git a/docs/0.9.5/_modules/evennia/server/models.html b/docs/0.9.5/_modules/evennia/server/models.html index f5e09083cd..7c8bac26a7 100644 --- a/docs/0.9.5/_modules/evennia/server/models.html +++ b/docs/0.9.5/_modules/evennia/server/models.html @@ -49,9 +49,8 @@ manager's conf() method. """ -import pickle - from django.db import models + from evennia.utils.idmapper.models import WeakSharedMemoryModel from evennia.utils import logger, utils from evennia.utils.dbserialize import to_pickle, from_pickle @@ -151,7 +150,7 @@ value = property(__value_get, __value_set, __value_del) - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Server Config value" verbose_name_plural = "Server Config values" @@ -159,9 +158,8 @@ # # ServerConfig other methods # - def __repr__(self): - return "<{} {}>".format(self.__class__.__name__, self.key, self.value) + return "<{} {}>".format(self.__class__.__name__, self.key)
[docs] def store(self, key, value): """ diff --git a/docs/0.9.5/_modules/evennia/server/portal/amp.html b/docs/0.9.5/_modules/evennia/server/portal/amp.html index 532af91423..c6d45688aa 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/amp.html +++ b/docs/0.9.5/_modules/evennia/server/portal/amp.html @@ -134,7 +134,10 @@ def _get_logger(): - "Delay import of logger until absolutely necessary" + """ + Delay import of logger until absolutely necessary + + """ global _LOGGER if not _LOGGER: from evennia.utils import logger as _LOGGER @@ -143,7 +146,10 @@ @wraps def catch_traceback(func): - "Helper decorator" + """ + Helper decorator + + """ def decorator(*args, **kwargs): try: @@ -394,6 +400,7 @@
[docs] def dataReceived(self, data): """ Handle non-AMP messages, such as HTTP communication. + """ # print("dataReceived: {}".format(data)) if data[:1] == NUL: @@ -454,6 +461,7 @@ that is irrelevant. If a true connection error happens, the portal will continuously try to reconnect, showing the problem that way. + """ # print("ConnectionLost: {}: {}".format(self, reason)) try: @@ -463,20 +471,20 @@ # Error handling -
[docs] def errback(self, e, info): +
[docs] def errback(self, err, info): """ Error callback. Handles errors to avoid dropping connections on server tracebacks. Args: - e (Failure): Deferred error instance. + err (Failure): Deferred error instance. info (str): Error string. """ - e.trap(Exception) + err.trap(Exception) _get_logger().log_err( "AMP Error from {info}: {trcbck} {err}".format( - info=info, trcbck=e.getTraceback(), err=e.getErrorMessage() + info=info, trcbck=err.getTraceback(), err=err.getErrorMessage() ) )
diff --git a/docs/0.9.5/_modules/evennia/server/portal/amp_server.html b/docs/0.9.5/_modules/evennia/server/portal/amp_server.html index cd3470609a..7807e9cff0 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/amp_server.html +++ b/docs/0.9.5/_modules/evennia/server/portal/amp_server.html @@ -84,7 +84,10 @@ noisy = False
[docs] def logPrefix(self): - "How this is named in logs" + """ + How this is named in logs + + """ return "AMP"
[docs] def __init__(self, portal): diff --git a/docs/0.9.5/_modules/evennia/server/portal/grapevine.html b/docs/0.9.5/_modules/evennia/server/portal/grapevine.html index 034dd6dc5d..07ff26a755 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/grapevine.html +++ b/docs/0.9.5/_modules/evennia/server/portal/grapevine.html @@ -376,7 +376,7 @@ # incoming broadcast from network payload = data["payload"] - print("channels/broadcast:", payload["channel"], self.channel) + # print("channels/broadcast:", payload["channel"], self.channel) if str(payload["channel"]) != self.channel: # only echo from channels this particular bot actually listens to return diff --git a/docs/0.9.5/_modules/evennia/server/portal/portal.html b/docs/0.9.5/_modules/evennia/server/portal/portal.html index 3f030a909b..32a0ec9d29 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/portal.html +++ b/docs/0.9.5/_modules/evennia/server/portal/portal.html @@ -224,6 +224,7 @@ Returns: server_twistd_cmd (list): An instruction for starting the server, to pass to Popen. + """ server_twistd_cmd = [ "twistd", @@ -237,7 +238,10 @@ return server_twistd_cmd
[docs] def get_info_dict(self): - "Return the Portal info, for display." + """ + Return the Portal info, for display. + + """ return INFO_DICT
[docs] def shutdown(self, _reactor_stopping=False, _stop_server=False): @@ -395,7 +399,8 @@ for port in SSH_PORTS: pstring = "%s:%s" % (ifacestr, port) factory = ssh.makeFactory( - {"protocolFactory": _ssh_protocol, "protocolArgs": (), "sessions": PORTAL_SESSIONS,} + {"protocolFactory": _ssh_protocol, + "protocolArgs": (), "sessions": PORTAL_SESSIONS} ) factory.noisy = False ssh_service = internet.TCPServer(port, factory, interface=interface) @@ -431,7 +436,7 @@ if WEBSOCKET_CLIENT_ENABLED and not websocket_started: # start websocket client port for the webclient # we only support one websocket client - from evennia.server.portal import webclient + from evennia.server.portal import webclient # noqa from autobahn.twisted.websocket import WebSocketServerFactory w_interface = WEBSOCKET_CLIENT_INTERFACE @@ -458,10 +463,13 @@ if WEB_PLUGINS_MODULE: try: web_root = WEB_PLUGINS_MODULE.at_webproxy_root_creation(web_root) - except Exception as e: # Legacy user has not added an at_webproxy_root_creation function in existing web plugins file + except Exception: + # Legacy user has not added an at_webproxy_root_creation function in existing + # web plugins file INFO_DICT["errors"] = ( - "WARNING: WEB_PLUGINS_MODULE is enabled but at_webproxy_root_creation() not found - " - "copy 'evennia/game_template/server/conf/web_plugins.py to mygame/server/conf." + "WARNING: WEB_PLUGINS_MODULE is enabled but at_webproxy_root_creation() " + "not found copy 'evennia/game_template/server/conf/web_plugins.py to " + "mygame/server/conf." ) web_root = Website(web_root, logPath=settings.HTTP_LOG_FILE) web_root.is_portal = True @@ -476,7 +484,6 @@ # external plugin services to start if plugin_module: plugin_module.start_plugin_services(PORTAL) -
diff --git a/docs/0.9.5/_modules/evennia/server/portal/portalsessionhandler.html b/docs/0.9.5/_modules/evennia/server/portal/portalsessionhandler.html index 5a2e56cd21..aee9949a71 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/portalsessionhandler.html +++ b/docs/0.9.5/_modules/evennia/server/portal/portalsessionhandler.html @@ -40,7 +40,8 @@

Source code for evennia.server.portal.portalsessionhandler

 """
-Sessionhandler for portal sessions
+Sessionhandler for portal sessions.
+
 """
 
 
@@ -52,6 +53,7 @@
 from evennia.server.portal.amp import PCONN, PDISCONN, PCONNSYNC, PDISCONNALL
 from evennia.utils.logger import log_trace
 from evennia.utils.utils import class_from_module
+from django.utils.translation import gettext as _
 
 # module import
 _MOD_IMPORT = None
@@ -76,6 +78,8 @@
 # Portal-SessionHandler class
 # -------------------------------------------------------------
 
+DOS_PROTECTION_MSG = _("{servername} DoS protection is active. You are queued to connect in {num} seconds ...")
+
 
 
[docs]class PortalSessionHandler(SessionHandler): """ @@ -152,16 +156,12 @@ _CONNECTION_QUEUE.appendleft(session) if len(_CONNECTION_QUEUE) > 1: session.data_out( - text=[ - [ - "%s DoS protection is active. You are queued to connect in %g seconds ..." - % ( - settings.SERVERNAME, - len(_CONNECTION_QUEUE) * _MIN_TIME_BETWEEN_CONNECTS, - ) - ], + text=( + (DOS_PROTECTION_MSG.format( + servername=settings.SERVERNAME, + num=len(_CONNECTION_QUEUE) * _MIN_TIME_BETWEEN_CONNECTS),), {}, - ] + ) ) now = time.time() if ( @@ -261,6 +261,7 @@
[docs] def disconnect_all(self): """ Disconnect all sessions, informing the Server. + """ def _callback(result, sessionhandler): @@ -519,7 +520,6 @@ _PORTAL_SESSION_HANDLER_CLASS = class_from_module(settings.PORTAL_SESSION_HANDLER_CLASS) - PORTAL_SESSIONS = _PORTAL_SESSION_HANDLER_CLASS()
diff --git a/docs/0.9.5/_modules/evennia/server/portal/rss.html b/docs/0.9.5/_modules/evennia/server/portal/rss.html index c7df5140f5..4a0086a144 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/rss.html +++ b/docs/0.9.5/_modules/evennia/server/portal/rss.html @@ -186,6 +186,7 @@
[docs] def start(self): """ Called by portalsessionhandler. Starts the bot. + """ def errback(fail): diff --git a/docs/0.9.5/_modules/evennia/server/portal/ssh.html b/docs/0.9.5/_modules/evennia/server/portal/ssh.html index 9f4e321022..85aa2e316a 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/ssh.html +++ b/docs/0.9.5/_modules/evennia/server/portal/ssh.html @@ -102,24 +102,25 @@ CTRL_BACKSLASH = "\x1c" CTRL_L = "\x0c" -_NO_AUTOGEN = """ -Evennia could not generate SSH private- and public keys ({{err}}) +_NO_AUTOGEN = f""" +Evennia could not generate SSH private- and public keys ({{err}}) Using conch default keys instead. If this error persists, create the keys manually (using the tools for your OS) and put them here: - {} - {} -""".format( - _PRIVATE_KEY_FILE, _PUBLIC_KEY_FILE -) + {_PRIVATE_KEY_FILE} + {_PUBLIC_KEY_FILE} +""" _BASE_SESSION_CLASS = class_from_module(settings.BASE_SESSION_CLASS) # not used atm
[docs]class SSHServerFactory(protocol.ServerFactory): - "This is only to name this better in logs" + """ + This is only to name this better in logs + + """ noisy = False
[docs] def logPrefix(self): diff --git a/docs/0.9.5/_modules/evennia/server/portal/ssl.html b/docs/0.9.5/_modules/evennia/server/portal/ssl.html index 2a84f3f89c..3b92579ac7 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/ssl.html +++ b/docs/0.9.5/_modules/evennia/server/portal/ssl.html @@ -91,6 +91,7 @@ """ Communication is the same as telnet, except data transfer is done with encryption. + """
[docs] def __init__(self, *args, **kwargs): @@ -103,6 +104,7 @@ This function looks for RSA key and certificate in the current directory. If files ssl.key and ssl.cert does not exist, they are created. + """ if not (os.path.exists(keyfile) and os.path.exists(certfile)): @@ -115,10 +117,11 @@ try: # create the RSA key and store it. - KEY_LENGTH = 1024 - rsaKey = Key(RSA.generate(KEY_LENGTH)) - keyString = rsaKey.toString(type="OPENSSH") - file(keyfile, "w+b").write(keyString) + KEY_LENGTH = 2048 + rsa_key = Key(RSA.generate(KEY_LENGTH)) + key_string = rsa_key.toString(type="OPENSSH") + with open(keyfile, "w+b") as fil: + fil.write(key_string) except Exception as err: print(NO_AUTOGEN.format(err=err, keyfile=keyfile)) sys.exit(5) diff --git a/docs/0.9.5/_modules/evennia/server/portal/telnet.html b/docs/0.9.5/_modules/evennia/server/portal/telnet.html index 677ca42bb1..6e5757309d 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/telnet.html +++ b/docs/0.9.5/_modules/evennia/server/portal/telnet.html @@ -100,7 +100,10 @@
[docs]class TelnetServerFactory(protocol.ServerFactory): - "This is only to name this better in logs" + """ + This exists only to name this better in logs. + + """ noisy = False
[docs] def logPrefix(self): @@ -112,6 +115,7 @@ Each player connecting over telnet (ie using most traditional mud clients) gets a telnet protocol instance assigned to them. All communication between game and player goes through here. + """
[docs] def __init__(self, *args, **kwargs): @@ -122,6 +126,7 @@ """ Unused by default, but a good place to put debug printouts of incoming data. + """ # print(f"telnet dataReceived: {data}") try: @@ -186,11 +191,15 @@ Client refuses do(linemode). This is common for MUD-specific clients, but we must ask for the sake of raw telnet. We ignore this error. + """ pass def _send_nop_keepalive(self): - """Send NOP keepalive unless flag is set""" + """ + Send NOP keepalive unless flag is set + + """ if self.protocol_flags.get("NOPKEEPALIVE"): self._write(IAC + NOP) @@ -199,7 +208,8 @@ Allow to toggle the NOP keepalive for those sad clients that can't even handle a NOP instruction. This is turned off by the protocol_flag NOPKEEPALIVE (settable e.g. by the default - `@option` command). + `option` command). + """ if self.nop_keep_alive and self.nop_keep_alive.running: self.nop_keep_alive.stop() @@ -213,6 +223,7 @@ When all have reported, a sync with the server is performed. The system will force-call this sync after a small time to handle clients that don't reply to handshakes at all. + """ if timeout: if self.handshakes > 0: @@ -227,6 +238,7 @@
[docs] def at_login(self): """ Called when this session gets authenticated by the server. + """ pass
@@ -362,7 +374,10 @@ self.data_in(text=dat + b"\n")
def _write(self, data): - """hook overloading the one used in plain telnet""" + """ + Hook overloading the one used in plain telnet + + """ data = data.replace(b"\n", b"\r\n").replace(b"\r\r\n", b"\r\n") super()._write(mccp_compress(self, data)) @@ -388,7 +403,7 @@
[docs] def disconnect(self, reason=""): """ - generic hook for the engine to call in order to + Generic hook for the engine to call in order to disconnect this protocol. Args: @@ -417,6 +432,7 @@ Keyword Args: kwargs (any): Options to the protocol + """ self.sessionhandler.data_out(self, **kwargs)
@@ -483,7 +499,7 @@ prompt = mxp_parse(prompt) prompt = to_bytes(prompt, self) prompt = prompt.replace(IAC, IAC + IAC).replace(b"\n", b"\r\n") - if not self.protocol_flags.get("NOPROMPTGOAHEAD", + if not self.protocol_flags.get("NOPROMPTGOAHEAD", self.protocol_flags.get("NOGOAHEAD", True)): prompt += IAC + GA self.transport.write(mccp_compress(self, prompt)) @@ -529,6 +545,7 @@
[docs] def send_default(self, cmdname, *args, **kwargs): """ Send other oob data + """ if not cmdname == "options": self.oob.data_out(cmdname, *args, **kwargs)
diff --git a/docs/0.9.5/_modules/evennia/server/portal/telnet_ssl.html b/docs/0.9.5/_modules/evennia/server/portal/telnet_ssl.html index 271195c75a..1fe05fc8af 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/telnet_ssl.html +++ b/docs/0.9.5/_modules/evennia/server/portal/telnet_ssl.html @@ -87,32 +87,29 @@ # messages -NO_AUTOGEN = """ -Evennia could not auto-generate the SSL private- and public keys ({{err}}). +NO_AUTOGEN = f""" +Evennia could not auto-generate the SSL private- and public keys ({{err}}). If this error persists, create them manually (using the tools for your OS). The files should be placed and named like this: - {} - {} -""".format( - _PRIVATE_KEY_FILE, _PUBLIC_KEY_FILE -) + {_PRIVATE_KEY_FILE} + {_PUBLIC_KEY_FILE} +""" NO_AUTOCERT = """ Evennia's could not auto-generate the SSL certificate ({{err}}). The private key already exists here: - {} + {_PRIVATE_KEY_FILE} If this error persists, create the certificate manually (using the private key and the tools for your OS). The file should be placed and named like this: - {} -""".format( - _PRIVATE_KEY_FILE, _CERTIFICATE_FILE -) + {_CERTIFICATE_FILE} +"""
[docs]class SSLProtocol(TelnetProtocol): """ Communication is the same as telnet, except data transfer is done with encryption set up by the portal at start time. + """
[docs] def __init__(self, *args, **kwargs): diff --git a/docs/0.9.5/_modules/evennia/server/portal/webclient.html b/docs/0.9.5/_modules/evennia/server/portal/webclient.html index 912c93a98c..f58ab9885a 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/webclient.html +++ b/docs/0.9.5/_modules/evennia/server/portal/webclient.html @@ -85,6 +85,7 @@
[docs]class WebSocketClient(WebSocketServerProtocol, _BASE_SESSION_CLASS): """ Implements the server-side of the Websocket connection. + """ # nonce value, used to prevent the webclient from erasing the @@ -196,7 +197,7 @@ # in case anyone wants to expose this functionality later. # # sendClose() under autobahn/websocket/interfaces.py - ret = self.sendClose(CLOSE_NORMAL, reason)
+ self.sendClose(CLOSE_NORMAL, reason)
[docs] def onClose(self, wasClean, code=None, reason=None): """ diff --git a/docs/0.9.5/_modules/evennia/server/portal/webclient_ajax.html b/docs/0.9.5/_modules/evennia/server/portal/webclient_ajax.html index 7260db7a1d..e2b6ea1e90 100644 --- a/docs/0.9.5/_modules/evennia/server/portal/webclient_ajax.html +++ b/docs/0.9.5/_modules/evennia/server/portal/webclient_ajax.html @@ -56,6 +56,7 @@ The WebClient resource in this module will handle these requests and act as a gateway to sessions connected over the webclient. + """ import json import re @@ -68,7 +69,7 @@ from django.conf import settings from evennia.utils.ansi import parse_ansi from evennia.utils import utils -from evennia.utils.utils import to_bytes, to_str +from evennia.utils.utils import to_bytes from evennia.utils.text2html import parse_html from evennia.server import session @@ -264,10 +265,13 @@ return jsonify({"msg": host_string, "csessid": csessid})
[docs] def mode_keepalive(self, request): - """ This is called by render_POST when the client is replying to the keepalive. + + Args: + request (Request): Incoming request. + """ csessid = self.get_client_sessid(request) self.last_alive[csessid] = (time.time(), False) diff --git a/docs/0.9.5/_modules/evennia/server/server.html b/docs/0.9.5/_modules/evennia/server/server.html index 142409439b..3c04439416 100644 --- a/docs/0.9.5/_modules/evennia/server/server.html +++ b/docs/0.9.5/_modules/evennia/server/server.html @@ -215,6 +215,7 @@ The main Evennia server handler. This object sets up the database and tracks and interlinks all the twisted network services that make up evennia. + """
[docs] def __init__(self, application): @@ -284,6 +285,7 @@ This allows for changing default cmdset locations and default typeclasses in the settings file and have them auto-update all already existing objects. + """ global INFO_DICT @@ -512,7 +514,10 @@ ServerConfig.objects.conf("runtime", _GAMETIME_MODULE.runtime())
[docs] def get_info_dict(self): - "Return the server info, for display." + """ + Return the server info, for display. + + """ return INFO_DICT
# server start/stop hooks @@ -521,6 +526,7 @@ """ This is called every time the server starts up, regardless of how it was shut down. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_start()
@@ -529,6 +535,7 @@ """ This is called just before a server is shut down, regardless of it is fore a reload, reset or shutdown. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_stop()
@@ -536,6 +543,7 @@
[docs] def at_server_reload_start(self): """ This is called only when server starts back up after a reload. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_reload_start()
@@ -546,7 +554,7 @@ after reconnecting. Args: - mode (str): One of reload, reset or shutdown. + mode (str): One of 'reload', 'reset' or 'shutdown'. """ @@ -596,6 +604,7 @@
[docs] def at_server_reload_stop(self): """ This is called only time the server stops before a reload. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_reload_stop()
@@ -604,6 +613,7 @@ """ This is called only when the server starts "cold", i.e. after a shutdown or a reset. + """ # We need to do this just in case the server was killed in a way where # the normal cleanup operations did not have time to run. @@ -631,6 +641,7 @@
[docs] def at_server_cold_stop(self): """ This is called only when the server goes down due to a shutdown or reset. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_cold_stop()
diff --git a/docs/0.9.5/_modules/evennia/server/serversession.html b/docs/0.9.5/_modules/evennia/server/serversession.html index 610b1cc6b4..ae0b7ba1f9 100644 --- a/docs/0.9.5/_modules/evennia/server/serversession.html +++ b/docs/0.9.5/_modules/evennia/server/serversession.html @@ -54,7 +54,6 @@ from evennia.utils import logger from evennia.utils.utils import make_iter, lazy_property, class_from_module from evennia.commands.cmdsethandler import CmdSetHandler -from evennia.server.session import Session from evennia.scripts.monitorhandler import MONITOR_HANDLER from evennia.typeclasses.attributes import AttributeHandler, InMemoryAttributeBackend, DbHolder @@ -63,9 +62,6 @@ _ObjectDB = None _ANSI = None -# i18n -from django.utils.translation import gettext as _ - _BASE_SESSION_CLASS = class_from_module(settings.BASE_SESSION_CLASS) @@ -86,7 +82,10 @@ """
[docs] def __init__(self): - """Initiate to avoid AttributeErrors down the line""" + """ + Initiate to avoid AttributeErrors down the line + + """ self.puppet = None self.account = None self.cmdset_storage_string = "" @@ -362,7 +361,10 @@ self.sessionhandler.data_in(session or self, **kwargs)
def __eq__(self, other): - """Handle session comparisons""" + """ + Handle session comparisons + + """ try: return self.address == other.address except AttributeError: @@ -409,6 +411,7 @@
[docs] def at_cmdset_get(self, **kwargs): """ A dummy hook all objects with cmdsets need to have + """ pass
@@ -455,7 +458,10 @@ # @ndb.deleter
[docs] def ndb_del(self): - """Stop accidental deletion.""" + """ + Stop accidental deletion. + + """ raise Exception("Cannot delete the ndb object!")
ndb = property(ndb_get, ndb_set, ndb_del) @@ -464,7 +470,10 @@ # Mock access method for the session (there is no lock info # at this stage, so we just present a uniform API)
[docs] def access(self, *args, **kwargs): - """Dummy method to mimic the logged-in API.""" + """ + Dummy method to mimic the logged-in API. + + """ return True
diff --git a/docs/0.9.5/_modules/evennia/server/sessionhandler.html b/docs/0.9.5/_modules/evennia/server/sessionhandler.html index 5401bcdc0b..7a61d84708 100644 --- a/docs/0.9.5/_modules/evennia/server/sessionhandler.html +++ b/docs/0.9.5/_modules/evennia/server/sessionhandler.html @@ -59,7 +59,6 @@ from evennia.commands.cmdhandler import CMD_LOGINSTART from evennia.utils.logger import log_trace from evennia.utils.utils import ( - variable_from_module, class_from_module, is_iter, make_iter, delay, @@ -70,6 +69,7 @@ from evennia.server.signals import SIGNAL_ACCOUNT_POST_LOGIN, SIGNAL_ACCOUNT_POST_LOGOUT from evennia.server.signals import SIGNAL_ACCOUNT_POST_FIRST_LOGIN, SIGNAL_ACCOUNT_POST_LAST_LOGOUT from codecs import decode as codecs_decode +from django.utils.translation import gettext as _ _FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED = settings.FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED @@ -80,7 +80,7 @@ _ScriptDB = None _OOB_HANDLER = None -_ERR_BAD_UTF8 = "Your client sent an incorrect UTF-8 sequence." +_ERR_BAD_UTF8 = _("Your client sent an incorrect UTF-8 sequence.")
[docs]class DummySession(object): @@ -89,9 +89,6 @@ DUMMYSESSION = DummySession() -# i18n -from django.utils.translation import gettext as _ - _SERVERNAME = settings.SERVERNAME _MULTISESSION_MODE = settings.MULTISESSION_MODE _IDLE_TIMEOUT = settings.IDLE_TIMEOUT @@ -102,7 +99,6 @@ _FUNCPARSER = None - # input handlers _INPUT_FUNCS = {} @@ -144,24 +140,36 @@ """ def __getitem__(self, key): - "Clean out None-sessions automatically." + """ + Clean out None-sessions automatically. + + """ if None in self: del self[None] return super().__getitem__(key)
[docs] def get(self, key, default=None): - "Clean out None-sessions automatically." + """ + Clean out None-sessions automatically. + + """ if None in self: del self[None] return super().get(key, default)
def __setitem__(self, key, value): - "Don't assign None sessions" + """ + Don't assign None sessions" + + """ if key is not None: super().__setitem__(key, value) def __contains__(self, key): - "None-keys are not accepted." + """ + None-keys are not accepted. + + """ return False if key is None else super().__contains__(key)
[docs] def get_sessions(self, include_unloggedin=False): @@ -199,9 +207,8 @@ Args: session (Session): The relevant session instance. - kwargs (dict) Each keyword represents a send-instruction, with the keyword itself being the name - of the instruction (like "text"). Suitable values for each - keyword are: + kwargs (dict) Each keyword represents a send-instruction, with the keyword itself being + the name of the instruction (like "text"). Suitable values for each keyword are: - arg -> [[arg], {}] - [args] -> [[args], {}] - {kwargs} -> [[], {kwargs}] @@ -218,7 +225,8 @@ global _FUNCPARSER if not _FUNCPARSER: from evennia.utils.funcparser import FuncParser - _FUNCPARSER = FuncParser(settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES, raise_errors=True) + _FUNCPARSER = FuncParser(settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES, + raise_errors=True) options = kwargs.pop("options", None) or {} raw = options.get("raw", False) @@ -240,7 +248,10 @@ return data def _validate(data): - "Helper function to convert data to AMP-safe (picketable) values" + """ + Helper function to convert data to AMP-safe (picketable) values" + + """ if isinstance(data, dict): newdict = {} for key, part in data.items(): @@ -251,7 +262,8 @@ elif isinstance(data, (str, bytes)): data = _utf8(data) - if _FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED and not raw and isinstance(self, ServerSessionHandler): + if (_FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED + and not raw and isinstance(self, ServerSessionHandler)): # only apply funcparser on the outgoing path (sessionhandler->) # data = parse_inlinefunc(data, strip=strip_inlinefunc, session=session) data = _FUNCPARSER.parse(data, strip=strip_inlinefunc, session=session) @@ -302,14 +314,11 @@
[docs]class ServerSessionHandler(SessionHandler): """ - This object holds the stack of sessions active in the game at - any time. + This object holds the stack of sessions active in the game at any time. - A session register with the handler in two steps, first by - registering itself with the connect() method. This indicates an - non-authenticated session. Whenever the session is authenticated - the session together with the related account is sent to the login() - method. + A session register with the handler in two steps, first by registering itself with the connect() + method. This indicates an non-authenticated session. Whenever the session is authenticated the + session together with the related account is sent to the login() method. """ @@ -509,9 +518,8 @@
[docs] def login(self, session, account, force=False, testmode=False): """ - Log in the previously unloggedin session and the account we by - now should know is connected to it. After this point we assume - the session to be logged in one way or another. + Log in the previously unloggedin session and the account we by now should know is connected + to it. After this point we assume the session to be logged in one way or another. Args: session (Session): The Session to authenticate. @@ -668,7 +676,8 @@ # mean connecting from the same host would not catch duplicates sid = id(curr_session) doublet_sessions = [ - sess for sess in self.values() if sess.logged_in and sess.uid == uid and id(sess) != sid + sess for sess in self.values() + if sess.logged_in and sess.uid == uid and id(sess) != sid ] for session in doublet_sessions: @@ -778,8 +787,8 @@ puppet (Object): Object puppeted Returns. - sessions (Session or list): Can be more than one of Object is controlled by - more than one Session (MULTISESSION_MODE > 1). + sessions (Session or list): Can be more than one of Object is controlled by more than + one Session (MULTISESSION_MODE > 1). """ sessions = puppet.sessid.get() diff --git a/docs/0.9.5/_modules/evennia/server/throttle.html b/docs/0.9.5/_modules/evennia/server/throttle.html index 48bb2e0952..096836c188 100644 --- a/docs/0.9.5/_modules/evennia/server/throttle.html +++ b/docs/0.9.5/_modules/evennia/server/throttle.html @@ -43,9 +43,10 @@ from collections import deque from evennia.utils import logger import time +from django.utils.translation import gettext as _ -
[docs]class Throttle(object): +
[docs]class Throttle: """ Keeps a running count of failed actions per IP address. @@ -54,11 +55,11 @@ This version of the throttle is usable by both the terminal server as well as the web server, imposes limits on memory consumption by using deques - with length limits instead of open-ended lists, and uses native Django + with length limits instead of open-ended lists, and uses native Django caches for automatic key eviction and persistence configurability. """ - error_msg = "Too many failed attempts; you must wait a few minutes before trying again." + error_msg = _("Too many failed attempts; you must wait a few minutes before trying again.")
[docs] def __init__(self, **kwargs): """ @@ -75,31 +76,31 @@ """ try: self.storage = caches['throttle'] - except Exception as e: + except Exception: logger.log_trace("Throttle: Errors encountered; using default cache.") self.storage = caches['default'] - + self.name = kwargs.get('name', 'undefined-throttle') self.limit = kwargs.get("limit", 5) self.cache_size = kwargs.get('cache_size', self.limit) self.timeout = kwargs.get("timeout", 5 * 60)
- +
[docs] def get_cache_key(self, *args, **kwargs): """ Creates a 'prefixed' key containing arbitrary terms to prevent key collisions in the same namespace. - + """ return '-'.join((self.name, *args))
- +
[docs] def touch(self, key, *args, **kwargs): """ Refreshes the timeout on a given key and ensures it is recorded in the key register. - + Args: key(str): Key of entry to renew. - + """ cache_key = self.get_cache_key(key) if self.storage.touch(cache_key, self.timeout): @@ -127,11 +128,11 @@ keys_key = self.get_cache_key('keys') keys = self.storage.get_or_set(keys_key, set(), self.timeout) data = self.storage.get_many((self.get_cache_key(x) for x in keys)) - + found_keys = set(data.keys()) if len(keys) != len(found_keys): self.storage.set(keys_key, found_keys, self.timeout) - + return data
[docs] def update(self, ip, failmsg="Exceeded threshold."): @@ -148,14 +149,14 @@ """ cache_key = self.get_cache_key(ip) - + # Get current status previously_throttled = self.check(ip) # Get previous failures, if any entries = self.storage.get(cache_key, []) entries.append(time.time()) - + # Store updated record self.storage.set(cache_key, deque(entries, maxlen=self.cache_size), self.timeout) @@ -164,55 +165,59 @@ # If this makes it engage, log a single activation event if not previously_throttled and currently_throttled: - logger.log_sec(f"Throttle Activated: {failmsg} (IP: {ip}, {self.limit} hits in {self.timeout} seconds.)") - + logger.log_sec( + f"Throttle Activated: {failmsg} (IP: {ip}, " + f"{self.limit} hits in {self.timeout} seconds.)" + ) + self.record_ip(ip)
- +
[docs] def remove(self, ip, *args, **kwargs): """ Clears data stored for an IP from the throttle. - + Args: ip(str): IP to clear. - + """ exists = self.get(ip) - if not exists: return False - + if not exists: + return False + cache_key = self.get_cache_key(ip) self.storage.delete(cache_key) self.unrecord_ip(ip) - + # Return True if NOT exists - return ~bool(self.get(ip))
- + return not bool(self.get(ip))
+
[docs] def record_ip(self, ip, *args, **kwargs): """ - Tracks keys as they are added to the cache (since there is no way to + Tracks keys as they are added to the cache (since there is no way to get a list of keys after-the-fact). - + Args: ip(str): IP being added to cache. This should be the original IP, not the cache-prefixed key. - + """ keys_key = self.get_cache_key('keys') keys = self.storage.get(keys_key, set()) keys.add(ip) self.storage.set(keys_key, keys, self.timeout) return True
- +
[docs] def unrecord_ip(self, ip, *args, **kwargs): """ Forces removal of a key from the key registry. - + Args: ip(str): IP to remove from list of keys. - + """ keys_key = self.get_cache_key('keys') keys = self.storage.get(keys_key, set()) - try: + try: keys.remove(ip) self.storage.set(keys_key, keys, self.timeout) return True @@ -235,7 +240,7 @@ """ now = time.time() ip = str(ip) - + cache_key = self.get_cache_key(ip) # checking mode diff --git a/docs/0.9.5/_modules/evennia/server/validators.html b/docs/0.9.5/_modules/evennia/server/validators.html index 3986cb2c1a..ff1c97a4c6 100644 --- a/docs/0.9.5/_modules/evennia/server/validators.html +++ b/docs/0.9.5/_modules/evennia/server/validators.html @@ -126,8 +126,8 @@ """ return _( - "%s From a terminal client, you can also use a phrase of multiple words if " - "you enclose the password in double quotes." % self.policy + "{policy} From a terminal client, you can also use a phrase of multiple words if " + "you enclose the password in double quotes.".format(policy=self.policy) )
diff --git a/docs/0.9.5/_modules/evennia/typeclasses/admin.html b/docs/0.9.5/_modules/evennia/typeclasses/admin.html deleted file mode 100644 index 304306079b..0000000000 --- a/docs/0.9.5/_modules/evennia/typeclasses/admin.html +++ /dev/null @@ -1,447 +0,0 @@ - - - - - - - - evennia.typeclasses.admin — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.typeclasses.admin

-import traceback
-from datetime import datetime
-from django.contrib import admin
-from evennia.typeclasses.models import Tag
-from django import forms
-from evennia.utils.picklefield import PickledFormField
-from evennia.utils.dbserialize import from_pickle, _SaverSet
-
-
-
[docs]class TagAdmin(admin.ModelAdmin): - """ - A django Admin wrapper for Tags. - """ - - search_fields = ("db_key", "db_category", "db_tagtype") - list_display = ("db_key", "db_category", "db_tagtype", "db_data") - fields = ("db_key", "db_category", "db_tagtype", "db_data") - list_filter = ("db_tagtype",)
- - -
[docs]class TagForm(forms.ModelForm): - """ - This form overrides the base behavior of the ModelForm that would be used for a - Tag-through-model. Since the through-models only have access to the foreignkeys of the Tag and - the Object that they're attached to, we need to spoof the behavior of it being a form that would - correspond to its tag, or the creation of a tag. Instead of being saved, we'll call to the - Object's handler, which will handle the creation, change, or deletion of a tag for us, as well - as updating the handler's cache so that all changes are instantly updated in-game. - """ - - tag_key = forms.CharField( - label="Tag Name", required=True, help_text="This is the main key identifier" - ) - tag_category = forms.CharField( - label="Category", - help_text="Used for grouping tags. Unset (default) gives a category of None", - required=False, - ) - tag_type = forms.CharField( - label="Type", - help_text='Internal use. Either unset, "alias" or "permission"', - required=False, - ) - tag_data = forms.CharField( - label="Data", - help_text="Usually unused. Intended for eventual info about the tag itself", - required=False, - ) - -
[docs] class Meta: - fields = ("tag_key", "tag_category", "tag_data", "tag_type")
- -
[docs] def __init__(self, *args, **kwargs): - """ - If we have a tag, then we'll prepopulate our instance with the fields we'd expect it - to have based on the tag. tag_key, tag_category, tag_type, and tag_data all refer to - the corresponding tag fields. The initial data of the form fields will similarly be - populated. - """ - super().__init__(*args, **kwargs) - tagkey = None - tagcategory = None - tagtype = None - tagdata = None - if hasattr(self.instance, "tag"): - tagkey = self.instance.tag.db_key - tagcategory = self.instance.tag.db_category - tagtype = self.instance.tag.db_tagtype - tagdata = self.instance.tag.db_data - self.fields["tag_key"].initial = tagkey - self.fields["tag_category"].initial = tagcategory - self.fields["tag_type"].initial = tagtype - self.fields["tag_data"].initial = tagdata - self.instance.tag_key = tagkey - self.instance.tag_category = tagcategory - self.instance.tag_type = tagtype - self.instance.tag_data = tagdata
- -
[docs] def save(self, commit=True): - """ - One thing we want to do here is the or None checks, because forms are saved with an empty - string rather than null from forms, usually, and the Handlers may handle empty strings - differently than None objects. So for consistency with how things are handled in game, - we'll try to make sure that empty form fields will be None, rather than ''. - """ - # we are spoofing a tag for the Handler that will be called - # instance = super().save(commit=False) - instance = self.instance - instance.tag_key = self.cleaned_data["tag_key"] - instance.tag_category = self.cleaned_data["tag_category"] or None - instance.tag_type = self.cleaned_data["tag_type"] or None - instance.tag_data = self.cleaned_data["tag_data"] or None - return instance
- - -
[docs]class TagFormSet(forms.BaseInlineFormSet): - """ - The Formset handles all the inline forms that are grouped together on the change page of the - corresponding object. All the tags will appear here, and we'll save them by overriding the - formset's save method. The forms will similarly spoof their save methods to return an instance - which hasn't been saved to the database, but have the relevant fields filled out based on the - contents of the cleaned form. We'll then use that to call to the handler of the corresponding - Object, where the handler is an AliasHandler, PermissionsHandler, or TagHandler, based on the - type of tag. - """ - -
[docs] def save(self, commit=True): - def get_handler(finished_object): - related = getattr(finished_object, self.related_field) - try: - tagtype = finished_object.tag_type - except AttributeError: - tagtype = finished_object.tag.db_tagtype - if tagtype == "alias": - handler_name = "aliases" - elif tagtype == "permission": - handler_name = "permissions" - else: - handler_name = "tags" - return getattr(related, handler_name) - - instances = super().save(commit=False) - # self.deleted_objects is a list created when super of save is called, we'll remove those - for obj in self.deleted_objects: - handler = get_handler(obj) - handler.remove(obj.tag_key, category=obj.tag_category) - for instance in instances: - handler = get_handler(instance) - handler.add(instance.tag_key, category=instance.tag_category, data=instance.tag_data)
- - -
[docs]class TagInline(admin.TabularInline): - """ - A handler for inline Tags. This class should be subclassed in the admin of your models, - and the 'model' and 'related_field' class attributes must be set. model should be the - through model (ObjectDB_db_tag', for example), while related field should be the name - of the field on that through model which points to the model being used: 'objectdb', - 'msg', 'accountdb', etc. - """ - - # Set this to the through model of your desired M2M when subclassing. - model = None - form = TagForm - formset = TagFormSet - related_field = None # Must be 'objectdb', 'accountdb', 'msg', etc. Set when subclassing - # raw_id_fields = ('tag',) - # readonly_fields = ('tag',) - extra = 0 - -
[docs] def get_formset(self, request, obj=None, **kwargs): - """ - get_formset has to return a class, but we need to make the class that we return - know about the related_field that we'll use. Returning the class itself rather than - a proxy isn't threadsafe, since it'd be the base class and would change if multiple - people used the admin at the same time - """ - formset = super().get_formset(request, obj, **kwargs) - - class ProxyFormset(formset): - pass - - ProxyFormset.related_field = self.related_field - return ProxyFormset
- - -
[docs]class AttributeForm(forms.ModelForm): - """ - This form overrides the base behavior of the ModelForm that would be used for a Attribute-through-model. - Since the through-models only have access to the foreignkeys of the Attribute and the Object that they're - attached to, we need to spoof the behavior of it being a form that would correspond to its Attribute, - or the creation of an Attribute. Instead of being saved, we'll call to the Object's handler, which will handle - the creation, change, or deletion of an Attribute for us, as well as updating the handler's cache so that all - changes are instantly updated in-game. - """ - - attr_key = forms.CharField( - label="Attribute Name", required=False, initial="Enter Attribute Name Here" - ) - attr_category = forms.CharField( - label="Category", help_text="type of attribute, for sorting", required=False, max_length=128 - ) - attr_value = PickledFormField(label="Value", help_text="Value to pickle/save", required=False) - attr_type = forms.CharField( - label="Type", - help_text='Internal use. Either unset (normal Attribute) or "nick"', - required=False, - max_length=16, - ) - attr_lockstring = forms.CharField( - label="Locks", - required=False, - help_text="Lock string on the form locktype:lockdef;lockfunc:lockdef;...", - widget=forms.Textarea(attrs={"rows": 1, "cols": 8}), - ) - -
[docs] class Meta: - fields = ("attr_key", "attr_value", "attr_category", "attr_lockstring", "attr_type")
- -
[docs] def __init__(self, *args, **kwargs): - """ - If we have an Attribute, then we'll prepopulate our instance with the fields we'd expect it - to have based on the Attribute. attr_key, attr_category, attr_value, attr_type, - and attr_lockstring all refer to the corresponding Attribute fields. The initial data of the form fields will - similarly be populated. - - """ - super().__init__(*args, **kwargs) - attr_key = None - attr_category = None - attr_value = None - attr_type = None - attr_lockstring = None - if hasattr(self.instance, "attribute"): - attr_key = self.instance.attribute.db_key - attr_category = self.instance.attribute.db_category - attr_value = self.instance.attribute.db_value - attr_type = self.instance.attribute.db_attrtype - attr_lockstring = self.instance.attribute.db_lock_storage - self.fields["attr_key"].initial = attr_key - self.fields["attr_category"].initial = attr_category - self.fields["attr_type"].initial = attr_type - self.fields["attr_value"].initial = attr_value - self.fields["attr_lockstring"].initial = attr_lockstring - self.instance.attr_key = attr_key - self.instance.attr_category = attr_category - self.instance.attr_value = attr_value - - # prevent from being transformed to str - if isinstance(attr_value, (set, _SaverSet)): - self.fields["attr_value"].disabled = True - - self.instance.deserialized_value = from_pickle(attr_value) - self.instance.attr_type = attr_type - self.instance.attr_lockstring = attr_lockstring
- -
[docs] def save(self, commit=True): - """ - One thing we want to do here is the or None checks, because forms are saved with an empty - string rather than null from forms, usually, and the Handlers may handle empty strings - differently than None objects. So for consistency with how things are handled in game, - we'll try to make sure that empty form fields will be None, rather than ''. - """ - # we are spoofing an Attribute for the Handler that will be called - instance = self.instance - instance.attr_key = self.cleaned_data["attr_key"] or "no_name_entered_for_attribute" - instance.attr_category = self.cleaned_data["attr_category"] or None - instance.attr_value = self.cleaned_data["attr_value"] - # convert the serialized string value into an object, if necessary, for AttributeHandler - instance.attr_value = from_pickle(instance.attr_value) - instance.attr_type = self.cleaned_data["attr_type"] or None - instance.attr_lockstring = self.cleaned_data["attr_lockstring"] - return instance
- -
[docs] def clean_attr_value(self): - """ - Prevent certain data-types from being cleaned due to literal_eval - failing on them. Otherwise they will be turned into str. - - """ - data = self.cleaned_data["attr_value"] - initial = self.instance.attr_value - if isinstance(initial, (set, _SaverSet, datetime)): - return initial - return data
- - -
[docs]class AttributeFormSet(forms.BaseInlineFormSet): - """ - Attribute version of TagFormSet, as above. - """ - -
[docs] def save(self, commit=True): - def get_handler(finished_object): - related = getattr(finished_object, self.related_field) - try: - attrtype = finished_object.attr_type - except AttributeError: - attrtype = finished_object.attribute.db_attrtype - if attrtype == "nick": - handler_name = "nicks" - else: - handler_name = "attributes" - return getattr(related, handler_name) - - instances = super().save(commit=False) - for obj in self.deleted_objects: - # self.deleted_objects is a list created when super of save is called, we'll remove those - handler = get_handler(obj) - handler.remove(obj.attr_key, category=obj.attr_category) - - for instance in instances: - handler = get_handler(instance) - - value = instance.attr_value - - try: - handler.add( - instance.attr_key, - value, - category=instance.attr_category, - strattr=False, - lockstring=instance.attr_lockstring, - ) - except (TypeError, ValueError): - # catch errors in nick templates and continue - traceback.print_exc() - continue
- - -
[docs]class AttributeInline(admin.TabularInline): - """ - A handler for inline Attributes. This class should be subclassed in the admin of your models, - and the 'model' and 'related_field' class attributes must be set. model should be the - through model (ObjectDB_db_tag', for example), while related field should be the name - of the field on that through model which points to the model being used: 'objectdb', - 'msg', 'accountdb', etc. - """ - - # Set this to the through model of your desired M2M when subclassing. - model = None - form = AttributeForm - formset = AttributeFormSet - related_field = None # Must be 'objectdb', 'accountdb', 'msg', etc. Set when subclassing - # raw_id_fields = ('attribute',) - # readonly_fields = ('attribute',) - extra = 0 - -
[docs] def get_formset(self, request, obj=None, **kwargs): - """ - get_formset has to return a class, but we need to make the class that we return - know about the related_field that we'll use. Returning the class itself rather than - a proxy isn't threadsafe, since it'd be the base class and would change if multiple - people used the admin at the same time - """ - formset = super().get_formset(request, obj, **kwargs) - - class ProxyFormset(formset): - pass - - ProxyFormset.related_field = self.related_field - return ProxyFormset
- - -admin.site.register(Tag, TagAdmin) -
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/evennia/typeclasses/attributes.html b/docs/0.9.5/_modules/evennia/typeclasses/attributes.html index 932b6f39ae..897370aa08 100644 --- a/docs/0.9.5/_modules/evennia/typeclasses/attributes.html +++ b/docs/0.9.5/_modules/evennia/typeclasses/attributes.html @@ -51,7 +51,6 @@ """ import re import fnmatch -import weakref from collections import defaultdict @@ -158,6 +157,7 @@
[docs]class InMemoryAttribute(IAttribute): """ This Attribute is used purely for NAttributes/NAttributeHandler. It has no database backend. + """ # Primary Key has no meaning for an InMemoryAttribute. This merely serves to satisfy other code. @@ -167,11 +167,12 @@ Create an Attribute that exists only in Memory. Args: - pk (int): This is a fake 'primary key' / id-field. It doesn't actually have to be unique, but is fed an - incrementing number from the InMemoryBackend by default. This is needed only so Attributes can be - sorted. Some parts of the API also see the lack of a .pk field as a sign that the Attribute was - deleted. + pk (int): This is a fake 'primary key' / id-field. It doesn't actually have to be + unique, but is fed an incrementing number from the InMemoryBackend by default. This + is needed only so Attributes can be sorted. Some parts of the API also see the lack + of a .pk field as a sign that the Attribute was deleted. **kwargs: Other keyword arguments are used to construct the actual Attribute. + """ self.id = pk self.pk = pk @@ -202,6 +203,7 @@
[docs]class Attribute(IAttribute, SharedMemoryModel): """ This attribute is stored via Django. Most Attributes will be using this class. + """ # @@ -260,7 +262,7 @@ class Meta(object): "Define Django meta options" - verbose_name = "Evennia Attribute" + verbose_name = "Attribute" # Wrapper properties to easily set database fields. These are # @property decorators that allows to access these fields using @@ -285,8 +287,8 @@ lock_storage = property(__lock_storage_get, __lock_storage_set, __lock_storage_del) # value property (wraps db_value) - # @property - def __value_get(self): + @property + def value(self): """ Getter. Allows for `value = self.value`. We cannot cache here since it makes certain cases (such @@ -295,8 +297,8 @@ """ return from_pickle(self.db_value, db_obj=self) - # @value.setter - def __value_set(self, new_value): + @value.setter + def value(self, new_value): """ Setter. Allows for self.value = value. We cannot cache here, see self.__value_get. @@ -304,13 +306,10 @@ self.db_value = to_pickle(new_value) self.save(update_fields=["db_value"]) - # @value.deleter - def __value_del(self): + @value.deleter + def value(self): """Deleter. Allows for del attr.value. This removes the entire attribute.""" - self.delete() - - value = property(__value_get, __value_set, __value_del)
- + self.delete()
# # Handlers making use of the Attribute model @@ -388,7 +387,7 @@ def _get_cache_key(self, key, category): """ - + Fetch cache key. Args: key (str): The key of the Attribute being searched for. @@ -569,7 +568,8 @@
[docs] def create_attribute(self, key, category, lockstring, value, strvalue=False, cache=True): """ - Creates Attribute (using the class specified for the backend), (optionally) caches it, and returns it. + Creates Attribute (using the class specified for the backend), (optionally) caches it, and + returns it. This MUST actively save the Attribute to whatever database backend is used, AND call self.set_cache(key, category, new_attrobj) @@ -754,7 +754,8 @@ ] ) else: - # have to cast the results to a list or we'll get a RuntimeError for removing from the dict we're iterating + # have to cast the results to a list or we'll get a RuntimeError for removing from the + # dict we're iterating self.do_batch_delete(list(attrs)) self.reset_cache()
@@ -775,10 +776,10 @@
[docs]class InMemoryAttributeBackend(IAttributeBackend): """ - This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and normally lost - on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes it manages, but these are - of little importance beyond sorting and satisfying the caching logic to know an Attribute hasn't been - deleted out from under the cache's nose. + This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and + normally lost on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes + it manages, but these are of little importance beyond sorting and satisfying the caching logic + to know an Attribute hasn't been deleted out from under the cache's nose. """ @@ -850,7 +851,8 @@
[docs] def do_delete_attribute(self, attr): """ - Removes the Attribute from local storage. Once it's out of the cache, garbage collection will handle the rest. + Removes the Attribute from local storage. Once it's out of the cache, garbage collection + will handle the rest. Args: attr (IAttribute): The attribute to delete. @@ -969,8 +971,9 @@ Setup the AttributeHandler. Args: - obj (TypedObject): An Account, Object, Channel, ServerSession (not technically a typed object), etc. - backend_class (IAttributeBackend class): The class of the backend to use. + obj (TypedObject): An Account, Object, Channel, ServerSession (not technically a typed + object), etc. backend_class (IAttributeBackend class): The class of the backend to + use. """ self.obj = obj self.backend = backend_class(self, self._attrtype)
@@ -1303,6 +1306,7 @@ all = property(get_all)
+# # Nick templating # @@ -1322,7 +1326,7 @@ This will be converted to the following regex: -\@desc (?P<1>\w+) (?P<2>\w+) $(?P<3>\w+) + \@desc (?P<1>\w+) (?P<2>\w+) $(?P<3>\w+) Supported template markers (through fnmatch) * matches anything (non-greedy) -> .*? @@ -1385,7 +1389,7 @@ # groups. we need to split out any | - separated parts so we can # attach the line-break/ending extras all regexes require. pattern_regex_string = r"|".join( - or_part + r"(?:[\n\r]*?)\Z" + or_part + r"(?:[\n\r]*?)\Z" for or_part in _RE_OR.split(pattern)) else: diff --git a/docs/0.9.5/_modules/evennia/typeclasses/managers.html b/docs/0.9.5/_modules/evennia/typeclasses/managers.html index 2a2d6038d0..1a98c2e99b 100644 --- a/docs/0.9.5/_modules/evennia/typeclasses/managers.html +++ b/docs/0.9.5/_modules/evennia/typeclasses/managers.html @@ -636,13 +636,21 @@ Search by supplying a string with optional extra search criteria to aid the query. Args: - query (str): A search criteria that accepts extra search criteria on the + query (str): A search criteria that accepts extra search criteria on the following + forms: + + [key|alias|#dbref...] + [tag==<tagstr>[:category]...] + [attr==<key>:<value>:category...] + + All three can be combined in the same query, separated by spaces. - following forms: [key|alias|#dbref...] [tag==<tagstr>[:category]...] [attr==<key>:<value>:category...] - " != " != " Returns: - matches (queryset): A queryset result matching all queries exactly. If wanting to use spaces or - ==, != in tags or attributes, enclose them in quotes. + matches (queryset): A queryset result matching all queries exactly. If wanting to use + spaces or ==, != in tags or attributes, enclose them in quotes. + + Example: + house = smart_search("key=foo alias=bar tag=house:building tag=magic attr=color:red") Note: The flexibility of this method is limited by the input line format. Tag/attribute diff --git a/docs/0.9.5/_modules/evennia/typeclasses/models.html b/docs/0.9.5/_modules/evennia/typeclasses/models.html index 64c9474f14..58666ce271 100644 --- a/docs/0.9.5/_modules/evennia/typeclasses/models.html +++ b/docs/0.9.5/_modules/evennia/typeclasses/models.html @@ -110,6 +110,7 @@ def call_at_first_save(sender, instance, created, **kwargs): """ Receives a signal just after the object is saved. + """ if created: instance.at_first_save() @@ -118,6 +119,7 @@ def remove_attributes_on_delete(sender, instance, **kwargs): """ Wipe object's Attributes when it's deleted + """ instance.db_attributes.all().delete() @@ -139,6 +141,7 @@ Metaclass which should be set for the root of model proxies that don't define any new fields, like Object, Script etc. This is the basis for the typeclassing system. + """ def __new__(cls, name, bases, attrs): @@ -220,15 +223,16 @@ mechanics for managing connected attributes. The TypedObject has the following properties: - key - main name - name - alias for key - typeclass_path - the path to the decorating typeclass - typeclass - auto-linked typeclass - date_created - time stamp of object creation - permissions - perm strings - dbref - #id of object - db - persistent attribute storage - ndb - non-persistent attribute storage + + - key - main name + - name - alias for key + - typeclass_path - the path to the decorating typeclass + - typeclass - auto-linked typeclass + - date_created - time stamp of object creation + - permissions - perm strings + - dbref - #id of object + - db - persistent attribute storage + - ndb - non-persistent attribute storage """ @@ -249,7 +253,8 @@ "typeclass", max_length=255, null=True, - help_text="this defines what 'type' of entity this is. This variable holds a Python path to a module with a valid Evennia Typeclass.", + help_text="this defines what 'type' of entity this is. This variable holds " + "a Python path to a module with a valid Evennia Typeclass.", db_index=True, ) # Creation date. This is not changed once the object is created. @@ -258,16 +263,20 @@ db_lock_storage = models.TextField( "locks", blank=True, - help_text="locks limit access to an entity. A lock is defined as a 'lock string' on the form 'type:lockfunctions', defining what functionality is locked and how to determine access. Not defining a lock means no access is granted.", + help_text="locks limit access to an entity. A lock is defined as a 'lock string' " + "on the form 'type:lockfunctions', defining what functionality is locked and " + "how to determine access. Not defining a lock means no access is granted.", ) # many2many relationships db_attributes = models.ManyToManyField( Attribute, - help_text="attributes on this object. An attribute can hold any pickle-able python object (see docs for special cases).", + help_text="attributes on this object. An attribute can hold any pickle-able " + "python object (see docs for special cases).", ) db_tags = models.ManyToManyField( Tag, - help_text="tags on this object. Tags are simple string markers to identify, group and alias objects.", + help_text="tags on this object. Tags are simple string markers to identify, " + "group and alias objects.", ) # Database manager @@ -382,7 +391,7 @@ def nattributes(self): return AttributeHandler(self, InMemoryAttributeBackend)
-
[docs] class Meta(object): +
[docs] class Meta: """ Django setup info. """ @@ -742,8 +751,8 @@ # Attribute storage # - # @property db - def __db_get(self): + @property + def db(self): """ Attribute handler wrapper. Allows for the syntax @@ -766,26 +775,24 @@ self._db_holder = DbHolder(self, "attributes") return self._db_holder - # @db.setter - def __db_set(self, value): + @db.setter + def db(self, value): "Stop accidentally replacing the db object" string = "Cannot assign directly to db object! " string += "Use db.attr=value instead." raise Exception(string) - # @db.deleter - def __db_del(self): + @db.deleter + def db(self): "Stop accidental deletion." raise Exception("Cannot delete the db object!") - db = property(__db_get, __db_set, __db_del) - # # Non-persistent (ndb) storage # - # @property ndb - def __ndb_get(self): + @property + def ndb(self): """ A non-attr_obj store (ndb: NonDataBase). Everything stored to this is guaranteed to be cleared when a server is shutdown. @@ -798,20 +805,18 @@ self._ndb_holder = DbHolder(self, "nattrhandler", manager_name="nattributes") return self._ndb_holder - # @db.setter - def __ndb_set(self, value): + @ndb.setter + def ndb(self, value): "Stop accidentally replacing the ndb object" string = "Cannot assign directly to ndb object! " string += "Use ndb.attr=value instead." raise Exception(string) - # @db.deleter - def __ndb_del(self): + @ndb.deleter + def ndb(self): "Stop accidental deletion." raise Exception("Cannot delete the ndb object!") - ndb = property(__ndb_get, __ndb_set, __ndb_del) -
[docs] def get_display_name(self, looker, **kwargs): """ Displays the name of the object in a viewer-aware manner. @@ -920,7 +925,7 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
[docs] def web_get_detail_url(self): @@ -960,7 +965,7 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
[docs] def web_get_puppet_url(self): @@ -972,19 +977,17 @@ str: URI path to object puppet page, if defined. Examples: + :: - ```python - Oscar (Character) = '/characters/oscar/1/puppet/' - ``` + Oscar (Character) = '/characters/oscar/1/puppet/' For this to work, the developer must have defined a named view somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-puppet' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/puppet/$', - CharPuppetView.as_view(), name='character-puppet') - ``` + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/puppet/$', + CharPuppetView.as_view(), name='character-puppet') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1000,7 +1003,7 @@ "%s-puppet" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
[docs] def web_get_update_url(self): @@ -1020,11 +1023,10 @@ For this to work, the developer must have defined a named view somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-update' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', CharUpdateView.as_view(), name='character-update') - ``` If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1040,7 +1042,7 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
[docs] def web_get_delete_url(self): @@ -1060,11 +1062,10 @@ somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-detail' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', CharDeleteView.as_view(), name='character-delete') - ``` If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1080,7 +1081,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
# Used by Django Sites/Admin diff --git a/docs/0.9.5/_modules/evennia/typeclasses/tags.html b/docs/0.9.5/_modules/evennia/typeclasses/tags.html index 0a15f5d78b..b59d2c392c 100644 --- a/docs/0.9.5/_modules/evennia/typeclasses/tags.html +++ b/docs/0.9.5/_modules/evennia/typeclasses/tags.html @@ -94,7 +94,7 @@ "key", max_length=255, null=True, help_text="tag identifier", db_index=True ) db_category = models.CharField( - "category", max_length=64, null=True, help_text="tag category", db_index=True + "category", max_length=64, null=True, blank=True, help_text="tag category", db_index=True ) db_data = models.TextField( "data", @@ -116,7 +116,7 @@ db_index=True, ) - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Tag" unique_together = (("db_key", "db_category", "db_tagtype", "db_model"),) @@ -166,7 +166,10 @@ self._cache_complete = False
def _query_all(self): - "Get all tags for this objects" + """ + Get all tags for this object. + + """ query = { "%s__id" % self._model: self._objid, "tag__db_model": self._model, @@ -178,7 +181,10 @@ ] def _fullcache(self): - "Cache all tags of this object" + """ + Cache all tags of this object. + + """ if not _TYPECLASS_AGGRESSIVE_CACHE: return tags = self._query_all() @@ -318,6 +324,7 @@
[docs] def reset_cache(self): """ Reset the cache from the outside. + """ self._cache_complete = False self._cache = {} @@ -524,8 +531,9 @@ Batch-add tags from a list of tuples. Args: - *args (tuple or str): Each argument should be a `tagstr` keys or tuple `(keystr, category)` or - `(keystr, category, data)`. It's possible to mix input types. + *args (tuple or str): Each argument should be a `tagstr` keys or tuple + `(keystr, category)` or `(keystr, category, data)`. It's possible to mix input + types. Notes: This will generate a mimimal number of self.add calls, diff --git a/docs/0.9.5/_modules/evennia/utils/ansi.html b/docs/0.9.5/_modules/evennia/utils/ansi.html index 057ee2b5c5..466b84d132 100644 --- a/docs/0.9.5/_modules/evennia/utils/ansi.html +++ b/docs/0.9.5/_modules/evennia/utils/ansi.html @@ -61,8 +61,8 @@ ## Markup -ANSI colors: `r` ed, `g` reen, `y` ellow, `b` lue, `m` agenta, `c` yan, `n` ormal (no color). Capital -letters indicate the 'dark' variant. +ANSI colors: `r` ed, `g` reen, `y` ellow, `b` lue, `m` agenta, `c` yan, `n` ormal (no color). +Capital letters indicate the 'dark' variant. - `|r` fg bright red - `|R` fg dark red @@ -378,8 +378,9 @@ colval = 16 + (red * 36) + (green * 6) + blue return "\033[%s8;5;%sm" % (3 + int(background), colval) - # replaced since some clients (like Potato) does not accept codes with leading zeroes, see issue #1024. - # return "\033[%s8;5;%s%s%sm" % (3 + int(background), colval // 100, (colval % 100) // 10, colval%10) + # replaced since some clients (like Potato) does not accept codes with leading zeroes, + # see issue #1024. + # return "\033[%s8;5;%s%s%sm" % (3 + int(background), colval // 100, (colval % 100) // 10, colval%10) # noqa else: # xterm256 not supported, convert the rgb value to ansi instead @@ -770,7 +771,8 @@ """ - # A compiled Regex for the format mini-language: https://docs.python.org/3/library/string.html#formatspec + # A compiled Regex for the format mini-language: + # https://docs.python.org/3/library/string.html#formatspec re_format = re.compile( r"(?i)(?P<just>(?P<fill>.)?(?P<align>\<|\>|\=|\^))?(?P<sign>\+|\-| )?(?P<alt>\#)?" r"(?P<zero>0)?(?P<width>\d+)?(?P<grouping>\_|\,)?(?:\.(?P<precision>\d+))?" @@ -843,12 +845,14 @@ Current features supported: fill, align, width. Args: - format_spec (str): The format specification passed by f-string or str.format(). This is a string such as - "0<30" which would mean "left justify to 30, filling with zeros". The full specification can be found - at https://docs.python.org/3/library/string.html#formatspec + format_spec (str): The format specification passed by f-string or str.format(). This is + a string such as "0<30" which would mean "left justify to 30, filling with zeros". + The full specification can be found at + https://docs.python.org/3/library/string.html#formatspec Returns: ansi_str (str): The formatted ANSIString's .raw() form, for display. + """ # This calls the compiled regex stored on ANSIString's class to analyze the format spec. # It returns a dictionary. @@ -1108,7 +1112,7 @@ current_index = 0 result = tuple() for section in parent_result: - result += (self[current_index : current_index + len(section)],) + result += (self[current_index: current_index + len(section)],) current_index += len(section) return result
@@ -1228,7 +1232,7 @@ start = next + bylen maxsplit -= 1 # NB. if it's already < 0, it stays < 0 - res.append(self[start : len(self)]) + res.append(self[start: len(self)]) if drop_spaces: return [part for part in res if part != ""] return res
@@ -1271,7 +1275,7 @@ if next < 0: break # Get character codes after the index as well. - res.append(self[next + bylen : end]) + res.append(self[next + bylen: end]) end = next maxsplit -= 1 # NB. if it's already < 0, it stays < 0 @@ -1325,7 +1329,7 @@ ic -= 1 ir2 -= 1 rstripped = rstripped[::-1] - return ANSIString(lstripped + raw[ir1 : ir2 + 1] + rstripped)
+ return ANSIString(lstripped + raw[ir1: ir2 + 1] + rstripped)
[docs] def lstrip(self, chars=None): """ @@ -1444,7 +1448,7 @@ start = None end = char._char_indexes[0] prefix = char._raw_string[start:end] - postfix = char._raw_string[end + 1 :] + postfix = char._raw_string[end + 1:] line = char._clean_string * amount code_indexes = [i for i in range(0, len(prefix))] length = len(prefix) + len(line) diff --git a/docs/0.9.5/_modules/evennia/utils/batchprocessors.html b/docs/0.9.5/_modules/evennia/utils/batchprocessors.html index 4b3e58e404..52a9d81213 100644 --- a/docs/0.9.5/_modules/evennia/utils/batchprocessors.html +++ b/docs/0.9.5/_modules/evennia/utils/batchprocessors.html @@ -325,7 +325,7 @@ try: path = match.group(1) return "\n#\n".join(self.parse_file(path)) - except IOError as err: + except IOError: raise IOError("#INSERT {} failed.".format(path)) text = _RE_INSERT.sub(replace_insert, text) diff --git a/docs/0.9.5/_modules/evennia/utils/containers.html b/docs/0.9.5/_modules/evennia/utils/containers.html index a773848070..75bf5d93c4 100644 --- a/docs/0.9.5/_modules/evennia/utils/containers.html +++ b/docs/0.9.5/_modules/evennia/utils/containers.html @@ -60,7 +60,7 @@ SCRIPTDB = None -
[docs]class Container(object): +
[docs]class Container: """ Base container class. A container is simply a storage object whose properties can be acquired as a property on it. This is generally @@ -197,9 +197,8 @@ return new_script if ((found.interval != interval) - or (found.start_delay != start_delay) - or (found.repeats != repeats) - ): + or (found.start_delay != start_delay) + or (found.repeats != repeats)): # the setup changed found.start(interval=interval, start_delay=start_delay, repeats=repeats) if found.desc != desc: diff --git a/docs/0.9.5/_modules/evennia/utils/dbserialize.html b/docs/0.9.5/_modules/evennia/utils/dbserialize.html index e2115ca168..c102529543 100644 --- a/docs/0.9.5/_modules/evennia/utils/dbserialize.html +++ b/docs/0.9.5/_modules/evennia/utils/dbserialize.html @@ -70,7 +70,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.contrib.contenttypes.models import ContentType from django.utils.safestring import SafeString -from evennia.utils.utils import uses_database, is_iter, to_str, to_bytes +from evennia.utils.utils import uses_database, is_iter, to_bytes from evennia.utils import logger __all__ = ("to_pickle", "from_pickle", "do_pickle", "do_unpickle", "dbserialize", "dbunserialize") diff --git a/docs/0.9.5/_modules/evennia/utils/eveditor.html b/docs/0.9.5/_modules/evennia/utils/eveditor.html index c375cdc03a..cc30f40668 100644 --- a/docs/0.9.5/_modules/evennia/utils/eveditor.html +++ b/docs/0.9.5/_modules/evennia/utils/eveditor.html @@ -83,10 +83,11 @@ import re from django.conf import settings -from evennia import Command, CmdSet +from evennia import CmdSet from evennia.utils import is_iter, fill, dedent, logger, justify, to_str, utils from evennia.utils.ansi import raw from evennia.commands import cmdhandler +from django.utils.translation import gettext as _ # we use cmdhandler instead of evennia.syscmdkeys to # avoid some cases of loading before evennia init'd @@ -104,7 +105,7 @@ # # ------------------------------------------------------------- -_HELP_TEXT = """ +_HELP_TEXT = _(""" <txt> - any non-command is appended to the end of the buffer. : <l> - view buffer or only line(s) <l> :: <l> - raw-view buffer or only line(s) <l> @@ -140,66 +141,66 @@ :fd <l> - de-indent entire buffer or line <l> :echo - turn echoing of the input on/off (helpful for some clients) -""" +""") -_HELP_LEGEND = """ +_HELP_LEGEND = _(""" Legend: <l> - line number, like '5' or range, like '3:7'. <w> - a single word, or multiple words with quotes around them. <txt> - longer string, usually not needing quotes. -""" +""") -_HELP_CODE = """ +_HELP_CODE = _(""" :! - Execute code buffer without saving :< - Decrease the level of automatic indentation for the next lines :> - Increase the level of automatic indentation for the next lines := - Switch automatic indentation on/off """.lstrip( "\n" -) +)) -_ERROR_LOADFUNC = """ +_ERROR_LOADFUNC = _(""" {error} |rBuffer load function error. Could not load initial data.|n -""" +""") -_ERROR_SAVEFUNC = """ +_ERROR_SAVEFUNC = _(""" {error} |rSave function returned an error. Buffer not saved.|n -""" +""") -_ERROR_NO_SAVEFUNC = "|rNo save function defined. Buffer cannot be saved.|n" +_ERROR_NO_SAVEFUNC = _("|rNo save function defined. Buffer cannot be saved.|n") -_MSG_SAVE_NO_CHANGE = "No changes need saving" -_DEFAULT_NO_QUITFUNC = "Exited editor." +_MSG_SAVE_NO_CHANGE = _("No changes need saving") +_DEFAULT_NO_QUITFUNC = _("Exited editor.") -_ERROR_QUITFUNC = """ +_ERROR_QUITFUNC = _(""" {error} |rQuit function gave an error. Skipping.|n -""" +""") -_ERROR_PERSISTENT_SAVING = """ +_ERROR_PERSISTENT_SAVING = _(""" {error} |rThe editor state could not be saved for persistent mode. Switching to non-persistent mode (which means the editor session won't survive an eventual server reload - so save often!)|n -""" +""") -_TRACE_PERSISTENT_SAVING = ( +_TRACE_PERSISTENT_SAVING = _( "EvEditor persistent-mode error. Commonly, this is because one or " "more of the EvEditor callbacks could not be pickled, for example " "because it's a class method or is defined inside another function." ) -_MSG_NO_UNDO = "Nothing to undo." -_MSG_NO_REDO = "Nothing to redo." -_MSG_UNDO = "Undid one step." -_MSG_REDO = "Redid one step." +_MSG_NO_UNDO = _("Nothing to undo.") +_MSG_NO_REDO = _("Nothing to redo.") +_MSG_UNDO = _("Undid one step.") +_MSG_REDO = _("Redid one step.") # ------------------------------------------------------------- # @@ -221,7 +222,10 @@ help_cateogory = "LineEditor"
[docs] def func(self): - """Implement the yes/no choice.""" + """ + Implement the yes/no choice. + + """ # this is only called from inside the lineeditor # so caller.ndb._lineditor must be set. @@ -236,7 +240,10 @@
[docs]class SaveYesNoCmdSet(CmdSet): - """Stores the yesno question""" + """ + Stores the yesno question + + """ key = "quitsave_yesno" priority = 150 # override other cmdsets. @@ -372,6 +379,7 @@ def _load_editor(caller): """ Load persistent editor from storage. + """ saved_options = caller.attributes.get("_eveditor_saved") saved_buffer, saved_undo = caller.attributes.get("_eveditor_buffer_temp", (None, None)) @@ -397,6 +405,7 @@
[docs]class CmdLineInput(CmdEditorBase): """ No command match - Inputs line of text into buffer. + """ key = _CMD_NOMATCH @@ -481,6 +490,7 @@ This command handles all the in-editor :-style commands. Since each command is small and very limited, this makes for a more efficient presentation. + """ caller = self.caller editor = caller.ndb._eveditor @@ -508,7 +518,7 @@ # Insert single colon alone on a line editor.update_buffer([":"] if lstart == 0 else linebuffer + [":"]) if echo_mode: - caller.msg("Single ':' added to buffer.") + caller.msg(_("Single ':' added to buffer.")) elif cmd == ":h": # help entry editor.display_help() @@ -523,7 +533,7 @@ # quit. If not saved, will ask if self.editor._unsaved: caller.cmdset.add(SaveYesNoCmdSet) - caller.msg("Save before quitting? |lcyes|lt[Y]|le/|lcno|ltN|le") + caller.msg(_("Save before quitting?") + " |lcyes|lt[Y]|le/|lcno|ltN|le") else: editor.quit() elif cmd == ":q!": @@ -538,24 +548,26 @@ elif cmd == ":UU": # reset buffer editor.update_buffer(editor._pristine_buffer) - caller.msg("Reverted all changes to the buffer back to original state.") + caller.msg(_("Reverted all changes to the buffer back to original state.")) elif cmd == ":dd": # :dd <l> - delete line <l> buf = linebuffer[:lstart] + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("Deleted %s." % self.lstr) + caller.msg(_("Deleted {string}.").format(string=self.lstr)) elif cmd == ":dw": # :dw <w> - delete word in entire buffer # :dw <l> <w> delete word only on line(s) <l> if not self.arg1: - caller.msg("You must give a search word to delete.") + caller.msg(_("You must give a search word to delete.")) else: if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Removed %s for lines %i-%i." % (self.arg1, lstart + 1, lend + 1)) + caller.msg(_("Removed {arg1} for lines {l1}-{l2}.").format( + arg1=self.arg1, l1=lstart + 1, l2=lend + 1)) else: - caller.msg("Removed %s for %s." % (self.arg1, self.lstr)) + caller.msg(_("Removed {arg1} for {line}.").format( + arg1=self.arg1, line=self.lstr)) sarea = "\n".join(linebuffer[lstart:lend]) sarea = re.sub(r"%s" % self.arg1.strip("'").strip('"'), "", sarea, re.MULTILINE) buf = linebuffer[:lstart] + sarea.split("\n") + linebuffer[lend:] @@ -570,49 +582,52 @@ editor._indent = 0 if editor._persistent: caller.attributes.add("_eveditor_indent", 0) - caller.msg("Cleared %i lines from buffer." % self.nlines) + caller.msg(_("Cleared {nlines} lines from buffer.").format(nlines=self.nlines)) elif cmd == ":y": # :y <l> - yank line(s) to copy buffer cbuf = linebuffer[lstart:lend] editor._copy_buffer = cbuf - caller.msg("%s, %s yanked." % (self.lstr.capitalize(), cbuf)) + caller.msg(_("{line}, {cbuf} yanked.").format(line=self.lstr.capitalize(), cbuf=cbuf)) elif cmd == ":x": # :x <l> - cut line to copy buffer cbuf = linebuffer[lstart:lend] editor._copy_buffer = cbuf buf = linebuffer[:lstart] + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("%s, %s cut." % (self.lstr.capitalize(), cbuf)) + caller.msg(_("{line}, {cbuf} cut.").format(line=self.lstr.capitalize(), cbuf=cbuf)) elif cmd == ":p": # :p <l> paste line(s) from copy buffer if not editor._copy_buffer: - caller.msg("Copy buffer is empty.") + caller.msg(_("Copy buffer is empty.")) else: buf = linebuffer[:lstart] + editor._copy_buffer + linebuffer[lstart:] editor.update_buffer(buf) - caller.msg("Pasted buffer %s to %s." % (editor._copy_buffer, self.lstr)) + caller.msg(_("Pasted buffer {cbuf} to {line}.").format( + cbuf=editor._copy_buffer, line=self.lstr)) elif cmd == ":i": # :i <l> <txt> - insert new line new_lines = self.args.split("\n") if not new_lines: - caller.msg("You need to enter a new line and where to insert it.") + caller.msg(_("You need to enter a new line and where to insert it.")) else: buf = linebuffer[:lstart] + new_lines + linebuffer[lstart:] editor.update_buffer(buf) - caller.msg("Inserted %i new line(s) at %s." % (len(new_lines), self.lstr)) + caller.msg(_("Inserted {num} new line(s) at {line}.").format( + num=len(new_lines), line=self.lstr)) elif cmd == ":r": # :r <l> <txt> - replace lines new_lines = self.args.split("\n") if not new_lines: - caller.msg("You need to enter a replacement string.") + caller.msg(_("You need to enter a replacement string.")) else: buf = linebuffer[:lstart] + new_lines + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("Replaced %i line(s) at %s." % (len(new_lines), self.lstr)) + caller.msg(_("Replaced {num} line(s) at {line}.").format( + num=len(new_lines), line=self.lstr)) elif cmd == ":I": # :I <l> <txt> - insert text at beginning of line(s) <l> if not self.raw_string and not editor._codefunc: - caller.msg("You need to enter text to insert.") + caller.msg(_("You need to enter text to insert.")) else: buf = ( linebuffer[:lstart] @@ -620,11 +635,11 @@ + linebuffer[lend:] ) editor.update_buffer(buf) - caller.msg("Inserted text at beginning of %s." % self.lstr) + caller.msg(_("Inserted text at beginning of {line}.").format(line=self.lstr)) elif cmd == ":A": # :A <l> <txt> - append text after end of line(s) if not self.args: - caller.msg("You need to enter text to append.") + caller.msg(_("You need to enter text to append.")) else: buf = ( linebuffer[:lstart] @@ -632,23 +647,24 @@ + linebuffer[lend:] ) editor.update_buffer(buf) - caller.msg("Appended text to end of %s." % self.lstr) + caller.msg(_("Appended text to end of {line}.").format(line=self.lstr)) elif cmd == ":s": # :s <li> <w> <txt> - search and replace words # in entire buffer or on certain lines if not self.arg1 or not self.arg2: - caller.msg("You must give a search word and something to replace it with.") + caller.msg(_("You must give a search word and something to replace it with.")) else: if not self.linerange: lstart = 0 lend = self.cline + 1 caller.msg( - "Search-replaced %s -> %s for lines %i-%i." - % (self.arg1, self.arg2, lstart + 1, lend) + _("Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}.").format( + arg1=self.arg1, arg2=self.arg2, l1=lstart + 1, l2=lend) ) else: caller.msg( - "Search-replaced %s -> %s for %s." % (self.arg1, self.arg2, self.lstr) + _("Search-replaced {arg1} -> {arg2} for {line}.").format( + arg1=self.arg1, arg2=self.arg2, line=self.lstr) ) sarea = "\n".join(linebuffer[lstart:lend]) @@ -670,9 +686,10 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Flood filled lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Flood filled lines {l1}-{l2}.").format( + l1=lstart + 1, l2=lend)) else: - caller.msg("Flood filled %s." % self.lstr) + caller.msg(_("Flood filled {line}.").format(line=self.lstr)) fbuf = "\n".join(linebuffer[lstart:lend]) fbuf = fill(fbuf, width=width) buf = linebuffer[:lstart] + fbuf.split("\n") + linebuffer[lend:] @@ -694,16 +711,19 @@ width = _DEFAULT_WIDTH if self.arg1 and self.arg1.lower() not in align_map: self.caller.msg( - "Valid justifications are [f]ull (default), [c]enter, [r]right or [l]eft" + _("Valid justifications are") + + " [f]ull (default), [c]enter, [r]right or [l]eft" ) return align = align_map[self.arg1.lower()] if self.arg1 else "f" if not self.linerange: lstart = 0 lend = self.cline + 1 - self.caller.msg("%s-justified lines %i-%i." % (align_name[align], lstart + 1, lend)) + self.caller.msg(_("{align}-justified lines {l1}-{l2}.").format( + align=align_name[align], l1=lstart + 1, l2=lend)) else: - self.caller.msg("%s-justified %s." % (align_name[align], self.lstr)) + self.caller.msg(_("{align}-justified {line}.").format( + align=align_name[align], line=self.lstr)) jbuf = "\n".join(linebuffer[lstart:lend]) jbuf = justify(jbuf, width=width, align=align) buf = linebuffer[:lstart] + jbuf.split("\n") + linebuffer[lend:] @@ -714,9 +734,9 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Indented lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Indented lines {l1}-{l2}.").format(l1=lstart + 1, l2=lend)) else: - caller.msg("Indented %s." % self.lstr) + caller.msg(_("Indented {line}.").format(line=self.lstr)) fbuf = [indent + line for line in linebuffer[lstart:lend]] buf = linebuffer[:lstart] + fbuf + linebuffer[lend:] editor.update_buffer(buf) @@ -725,9 +745,10 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Removed left margin (dedented) lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Removed left margin (dedented) lines {l1}-{l2}.").format( + l1=lstart + 1, l2=lend)) else: - caller.msg("Removed left margin (dedented) %s." % self.lstr) + caller.msg(_("Removed left margin (dedented) {line}.").format(line=self.lstr)) fbuf = "\n".join(linebuffer[lstart:lend]) fbuf = dedent(fbuf) buf = linebuffer[:lstart] + fbuf.split("\n") + linebuffer[lend:] @@ -735,45 +756,49 @@ elif cmd == ":echo": # set echoing on/off editor._echo_mode = not editor._echo_mode - caller.msg("Echo mode set to %s" % editor._echo_mode) + caller.msg(_("Echo mode set to {mode}").format(mode=editor._echo_mode)) elif cmd == ":!": if editor._codefunc: editor._codefunc(caller, editor._buffer) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":<": # :< if editor._codefunc: editor.decrease_indent() indent = editor._indent if indent >= 0: - caller.msg("Decreased indentation: new indentation is {}.".format(indent)) + caller.msg(_( + "Decreased indentation: new indentation is {indent}.").format( + indent=indent)) else: - caller.msg("|rManual indentation is OFF.|n Use := to turn it on.") + caller.msg(_("|rManual indentation is OFF.|n Use := to turn it on.")) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":>": # :> if editor._codefunc: editor.increase_indent() indent = editor._indent if indent >= 0: - caller.msg("Increased indentation: new indentation is {}.".format(indent)) + caller.msg(_( + "Increased indentation: new indentation is {indent}.").format( + indent=indent)) else: - caller.msg("|rManual indentation is OFF.|n Use := to turn it on.") + caller.msg(_("|rManual indentation is OFF.|n Use := to turn it on.")) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":=": # := if editor._codefunc: editor.swap_autoindent() indent = editor._indent if indent >= 0: - caller.msg("Auto-indentation turned on.") + caller.msg(_("Auto-indentation turned on.")) else: - caller.msg("Auto-indentation turned off.") + caller.msg(_("Auto-indentation turned off.")) else: - caller.msg("This command is only available in code editor mode.")
+ caller.msg(_("This command is only available in code editor mode."))
[docs]class EvEditorCmdSet(CmdSet): @@ -794,7 +819,7 @@ # ------------------------------------------------------------- -
[docs]class EvEditor(object): +
[docs]class EvEditor: """ This defines a line editor object. It creates all relevant commands and tracks the current state of the buffer. It also cleans up after @@ -920,12 +945,13 @@
[docs] def load_buffer(self): """ Load the buffer using the load function hook. + """ try: self._buffer = self._loadfunc(self._caller) if not isinstance(self._buffer, str): self._buffer = to_str(self._buffer) - self._caller.msg("|rNote: input buffer was converted to a string.|n") + self._caller.msg(_("|rNote: input buffer was converted to a string.|n")) except Exception as e: from evennia.utils import logger @@ -1062,7 +1088,7 @@ header = ( "|n" + sep * 10 - + "Line Editor [%s]" % self._key + + _("Line Editor [{name}]").format(name=self._key) + sep * (_DEFAULT_WIDTH - 24 - len(self._key)) ) footer = ( @@ -1070,7 +1096,7 @@ + sep * 10 + "[l:%02i w:%03i c:%04i]" % (nlines, nwords, nchars) + sep * 12 - + "(:h for help)" + + _("(:h for help)") + sep * (_DEFAULT_WIDTH - 54) ) if linenums: diff --git a/docs/0.9.5/_modules/evennia/utils/evmenu.html b/docs/0.9.5/_modules/evennia/utils/evmenu.html index dafd092fcc..e27b144dcb 100644 --- a/docs/0.9.5/_modules/evennia/utils/evmenu.html +++ b/docs/0.9.5/_modules/evennia/utils/evmenu.html @@ -456,7 +456,8 @@ ) # don't give the session as a kwarg here, direct to original raise EvMenuError(err) # we must do this after the caller with the menu has been correctly identified since it - # can be either Account, Object or Session (in the latter case this info will be superfluous). + # can be either Account, Object or Session (in the latter case this info will be + # superfluous). caller.ndb._evmenu._session = self.session # we have a menu, use it. menu.parse_input(self.raw_string)
@@ -660,7 +661,8 @@ ).intersection(set(kwargs.keys())) if reserved_clash: raise RuntimeError( - f"One or more of the EvMenu `**kwargs` ({list(reserved_clash)}) is reserved by EvMenu for internal use." + f"One or more of the EvMenu `**kwargs` ({list(reserved_clash)}) " + "is reserved by EvMenu for internal use." ) for key, val in kwargs.items(): setattr(self, key, val) @@ -1303,7 +1305,7 @@ table.extend([" " for i in range(nrows - nlastcol)]) # build the actual table grid - table = [table[icol * nrows : (icol * nrows) + nrows] for icol in range(0, ncols)] + table = [table[icol * nrows: (icol * nrows) + nrows] for icol in range(0, ncols)] # adjust the width of each column for icol in range(len(table)): @@ -1372,10 +1374,31 @@ Example: ```python - list_node(['foo', 'bar'], select) + def select(caller, selection, available_choices=None, **kwargs): + ''' + Args: + caller (Object or Account): User of the menu. + selection (str): What caller chose in the menu + available_choices (list): The keys of elements available on the *current listing + page*. + **kwargs: Kwargs passed on from the node. + Returns: + tuple, str or None: A tuple (nextnodename, **kwargs) or just nextnodename. Return + `None` to go back to the listnode. + + # (do something with `selection` here) + + return "nextnode", **kwargs + + @list_node(['foo', 'bar'], select) def node_index(caller): text = "describing the list" - return text, [] + + # optional extra options in addition to the list-options + extra_options = [] + + return text, extra_options + ``` Notes: @@ -1390,6 +1413,7 @@ def _select_parser(caller, raw_string, **kwargs): """ Parse the select action + """ available_choices = kwargs.get("available_choices", []) @@ -1397,14 +1421,15 @@ index = int(raw_string.strip()) - 1 selection = available_choices[index] except Exception: - caller.msg("|rInvalid choice.|n") + caller.msg(_("|rInvalid choice.|n")) else: if callable(select): try: if bool(getargspec(select).keywords): - return select(caller, selection, available_choices=available_choices) + return select( + caller, selection, available_choices=available_choices, **kwargs) else: - return select(caller, selection) + return select(caller, selection, **kwargs) except Exception: logger.log_trace() elif select: @@ -1429,7 +1454,7 @@ if option_list: nall_options = len(option_list) pages = [ - option_list[ind : ind + pagesize] for ind in range(0, nall_options, pagesize) + option_list[ind: ind + pagesize] for ind in range(0, nall_options, pagesize) ] npages = len(pages) @@ -1443,7 +1468,7 @@ # callback being called with a result from the available choices options.extend( [ - {"desc": opt, "goto": (_select_parser, {"available_choices": page})} + {"desc": opt, "goto": (_select_parser, {"available_choices": page, **kwargs})} for opt in page ] ) @@ -1454,7 +1479,7 @@ # allows us to call ourselves over and over, using different kwargs. options.append( { - "key": ("|Wcurrent|n", "c"), + "key": (_("|Wcurrent|n"), "c"), "desc": "|W({}/{})|n".format(page_index + 1, npages), "goto": (lambda caller: None, {"optionpage_index": page_index}), } @@ -1462,14 +1487,14 @@ if page_index > 0: options.append( { - "key": ("|wp|Wrevious page|n", "p"), + "key": (_("|wp|Wrevious page|n"), "p"), "goto": (lambda caller: None, {"optionpage_index": page_index - 1}), } ) if page_index < npages - 1: options.append( { - "key": ("|wn|Wext page|n", "n"), + "key": (_("|wn|Wext page|n"), "n"), "goto": (lambda caller: None, {"optionpage_index": page_index + 1}), } ) @@ -1703,7 +1728,7 @@ inp = raw if inp in ('a', 'abort') and yes_no_question.allow_abort: - caller.msg("Aborted.") + caller.msg(_("Aborted.")) self._clean(caller) return @@ -1713,7 +1738,6 @@ kwargs = yes_no_question.kwargs kwargs['caller_session'] = self.session - ok = False if inp in ('yes', 'y'): yes_no_question.yes_callable(caller, *args, **kwargs) elif inp in ('no', 'n'): @@ -1725,9 +1749,9 @@ # cleanup self._clean(caller) - except Exception as err: + except Exception: # make sure to clean up cmdset if something goes wrong - caller.msg("|rError in ask_yes_no. Choice not confirmed (report to admin)|n") + caller.msg(_("|rError in ask_yes_no. Choice not confirmed (report to admin)|n")) logger.log_trace("Error in ask_yes_no") self._clean(caller) raise
@@ -1979,7 +2003,7 @@ """ Validate goto-callable kwarg is on correct form. """ - if not "=" in kwarg: + if "=" not in kwarg: raise RuntimeError( f"EvMenu template error: goto-callable '{goto}' has a " f"non-kwarg argument ({kwarg}). All callables in the " @@ -1996,6 +2020,7 @@ def _parse_options(nodename, optiontxt, goto_callables): """ Parse option section into option dict. + """ options = [] optiontxt = optiontxt[0].strip() if optiontxt else "" @@ -2073,6 +2098,7 @@ def _parse(caller, menu_template, goto_callables): """ Parse the menu string format into a node tree. + """ nodetree = {} splits = _RE_NODE.split(menu_template) diff --git a/docs/0.9.5/_modules/evennia/utils/evmore.html b/docs/0.9.5/_modules/evennia/utils/evmore.html index 79ceff206b..d75c7715ae 100644 --- a/docs/0.9.5/_modules/evennia/utils/evmore.html +++ b/docs/0.9.5/_modules/evennia/utils/evmore.html @@ -84,6 +84,7 @@ from evennia.commands import cmdhandler from evennia.utils.ansi import ANSIString from evennia.utils.utils import make_iter, inherits_from, justify, dedent +from django.utils.translation import gettext as _ _CMD_NOMATCH = cmdhandler.CMD_NOMATCH _CMD_NOINPUT = cmdhandler.CMD_NOINPUT @@ -272,7 +273,7 @@ self._justify_kwargs = justify_kwargs self.exit_on_lastpage = exit_on_lastpage self.exit_cmd = exit_cmd - self._exit_msg = "Exited |wmore|n pager." + self._exit_msg = _("Exited |wmore|n pager.") self._kwargs = kwargs self._data = None @@ -395,8 +396,9 @@ """ Paginate by slice. This is done with an eye on memory efficiency (usually for querysets); to avoid fetching all objects at the same time. + """ - return self._data[pageno * self.height : pageno * self.height + self.height]
+ return self._data[pageno * self.height: pageno * self.height + self.height]
[docs] def paginator_django(self, pageno): """ @@ -474,7 +476,7 @@ lines = text.split("\n") self._data = [ - _LBR.join(lines[i : i + self.height]) for i in range(0, len(lines), self.height) + _LBR.join(lines[i: i + self.height]) for i in range(0, len(lines), self.height) ] self._npages = len(self._data)
@@ -492,14 +494,15 @@ Notes: If overridden, this method must perform the following actions: - - read and re-store `self._data` (the incoming data set) if needed for pagination to work. + - read and re-store `self._data` (the incoming data set) if needed for pagination to + work. - set `self._npages` to the total number of pages. Default is 1. - set `self._paginator` to a callable that will take a page number 1...N and return the data to display on that page (not any decorations or next/prev buttons). If only wanting to change the paginator, override `self.paginator` instead. - - set `self._page_formatter` to a callable that will receive the page from `self._paginator` - and format it with one element per line. Default is `str`. Or override `self.page_formatter` - directly instead. + - set `self._page_formatter` to a callable that will receive the page from + `self._paginator` and format it with one element per line. Default is `str`. Or + override `self.page_formatter` directly instead. By default, helper methods are called that perform these actions depending on supported inputs. diff --git a/docs/0.9.5/_modules/evennia/utils/evtable.html b/docs/0.9.5/_modules/evennia/utils/evtable.html index d9c1d47f56..59b75dd609 100644 --- a/docs/0.9.5/_modules/evennia/utils/evtable.html +++ b/docs/0.9.5/_modules/evennia/utils/evtable.html @@ -280,12 +280,12 @@ del chunks[-1] while chunks: - l = d_len(chunks[-1]) + ln = d_len(chunks[-1]) # Can at least squeeze this chunk onto the current line. - if cur_len + l <= width: + if cur_len + ln <= width: cur_line.append(chunks.pop()) - cur_len += l + cur_len += ln # Nope, this line is full. else: @@ -303,10 +303,10 @@ # Convert current line back to a string and store it in list # of all lines (return value). if cur_line: - l = "" + ln = "" for w in cur_line: # ANSI fix - l += w # - lines.append(indent + l) + ln += w # + lines.append(indent + ln) return lines
@@ -1140,8 +1140,9 @@ height (int, optional): Fixed height of table. Defaults to being unset. Width is still given precedence. If given, table cells will crop text rather than expand vertically. - evenwidth (bool, optional): Used with the `width` keyword. Adjusts columns to have as even width as - possible. This often looks best also for mixed-length tables. Default is `False`. + evenwidth (bool, optional): Used with the `width` keyword. Adjusts columns to have as + even width as possible. This often looks best also for mixed-length tables. Default + is `False`. maxwidth (int, optional): This will set a maximum width of the table while allowing it to be smaller. Only if it grows wider than this size will it be resized by expanding horizontally (or crop `height` is given). @@ -1388,7 +1389,8 @@ self.ncols = ncols self.nrows = nrowmax - # add borders - these add to the width/height, so we must do this before calculating width/height + # add borders - these add to the width/height, so we must do this before calculating + # width/height self._borders() # equalize widths within each column @@ -1475,7 +1477,8 @@ except Exception: raise - # equalize heights for each row (we must do this here, since it may have changed to fit new widths) + # equalize heights for each row (we must do this here, since it may have changed to fit new + # widths) cheights = [ max(cell.get_height() for cell in (col[iy] for col in self.worktable)) for iy in range(nrowmax) diff --git a/docs/0.9.5/_modules/evennia/utils/gametime.html b/docs/0.9.5/_modules/evennia/utils/gametime.html index 2a44228684..73ad949c3c 100644 --- a/docs/0.9.5/_modules/evennia/utils/gametime.html +++ b/docs/0.9.5/_modules/evennia/utils/gametime.html @@ -48,7 +48,6 @@ """ import time -from calendar import monthrange from datetime import datetime, timedelta from django.db.utils import OperationalError diff --git a/docs/0.9.5/_modules/evennia/utils/idmapper/models.html b/docs/0.9.5/_modules/evennia/utils/idmapper/models.html index 5df2a825cb..e8e63d8020 100644 --- a/docs/0.9.5/_modules/evennia/utils/idmapper/models.html +++ b/docs/0.9.5/_modules/evennia/utils/idmapper/models.html @@ -104,7 +104,8 @@ return super(SharedMemoryModelBase, cls).__call__(*args, **kwargs) instance_key = cls._get_cache_key(args, kwargs) - # depending on the arguments, we might not be able to infer the PK, so in that case we create a new instance + # depending on the arguments, we might not be able to infer the PK, so in that case we + # create a new instance if instance_key is None: return new_instance() cached_instance = cls.get_cached_instance(instance_key) @@ -195,9 +196,9 @@ if isinstance(value, (str, int)): value = to_str(value) if value.isdigit() or value.startswith("#"): - # we also allow setting using dbrefs, if so we try to load the matching object. - # (we assume the object is of the same type as the class holding the field, if - # not a custom handler must be used for that field) + # we also allow setting using dbrefs, if so we try to load the matching + # object. (we assume the object is of the same type as the class holding + # the field, if not a custom handler must be used for that field) dbid = dbref(value, reqhash=False) if dbid: model = _GA(cls, "_meta").get_field(fname).model @@ -307,21 +308,24 @@ pk = cls._meta.pks[0] else: pk = cls._meta.pk - # get the index of the pk in the class fields. this should be calculated *once*, but isn't atm + # get the index of the pk in the class fields. this should be calculated *once*, but isn't + # atm pk_position = cls._meta.fields.index(pk) if len(args) > pk_position: # if it's in the args, we can get it easily by index result = args[pk_position] elif pk.attname in kwargs: - # retrieve the pk value. Note that we use attname instead of name, to handle the case where the pk is a - # a ForeignKey. + # retrieve the pk value. Note that we use attname instead of name, to handle the case + # where the pk is a a ForeignKey. result = kwargs[pk.attname] elif pk.name != pk.attname and pk.name in kwargs: - # ok we couldn't find the value, but maybe it's a FK and we can find the corresponding object instead + # ok we couldn't find the value, but maybe it's a FK and we can find the corresponding + # object instead result = kwargs[pk.name] if result is not None and isinstance(result, Model): - # if the pk value happens to be a model instance (which can happen wich a FK), we'd rather use its own pk as the key + # if the pk value happens to be a model instance (which can happen wich a FK), we'd + # rather use its own pk as the key result = result._get_pk_val() return result diff --git a/docs/0.9.5/_modules/evennia/utils/logger.html b/docs/0.9.5/_modules/evennia/utils/logger.html index 088133c986..8566473a6a 100644 --- a/docs/0.9.5/_modules/evennia/utils/logger.html +++ b/docs/0.9.5/_modules/evennia/utils/logger.html @@ -57,7 +57,6 @@ import os import time -import glob from datetime import datetime from traceback import format_exc from twisted.python import log, logfile @@ -88,6 +87,7 @@ Returns: timestring (str): A formatted string of the given time. + """ when = when if when else time.time() @@ -167,6 +167,7 @@ server.log.2020_01_29 server.log.2020_01_29__1 server.log.2020_01_29__2 + """ suffix = "" copy_suffix = 0 @@ -187,7 +188,10 @@ return suffix
[docs] def write(self, data): - "Write data to log file" + """ + Write data to log file + + """ logfile.BaseLogFile.write(self, data) self.lastDate = max(self.lastDate, self.toDate()) self.size += len(data)
@@ -196,6 +200,7 @@
[docs]class PortalLogObserver(log.FileLogObserver): """ Reformat logging + """ timeFormat = None @@ -330,6 +335,7 @@ Prints any generic debugging/informative info that should appear in the log. infomsg: (string) The message to be logged. + """ try: infomsg = str(infomsg) @@ -348,6 +354,7 @@ Args: depmsg (str): The deprecation message to log. + """ try: depmsg = str(depmsg) @@ -366,6 +373,7 @@ Args: secmsg (str): The security message to log. + """ try: secmsg = str(secmsg) @@ -387,6 +395,7 @@ the LogFile's rotate method in order to append some of the last lines of the previous log to the start of the new log, in order to preserve a continuous chat history for channel log files. + """ # we delay import of settings to keep logger module as free @@ -402,6 +411,7 @@ """ Rotates our log file and appends some number of lines from the previous log to the start of the new one. + """ append_tail = (num_lines_to_append if num_lines_to_append is not None @@ -418,9 +428,11 @@ """ Convenience method for accessing our _file attribute's seek method, which is used in tail_log_function. + Args: *args: Same args as file.seek **kwargs: Same kwargs as file.seek + """ return self._file.seek(*args, **kwargs)
@@ -428,12 +440,14 @@ """ Convenience method for accessing our _file attribute's readlines method, which is used in tail_log_function. + Args: *args: same args as file.readlines **kwargs: same kwargs as file.readlines Returns: lines (list): lines from our _file attribute. + """ return [line.decode("utf-8") for line in self._file.readlines(*args, **kwargs)]
@@ -591,7 +605,7 @@ lines_found = filehandle.readlines() block_count -= 1 # return the right number of lines - lines_found = lines_found[-nlines - offset : -offset if offset else None] + lines_found = lines_found[-nlines - offset: -offset if offset else None] if callback: callback(lines_found) return None diff --git a/docs/0.9.5/_modules/evennia/utils/optionhandler.html b/docs/0.9.5/_modules/evennia/utils/optionhandler.html index 4a229113f2..b13d79f992 100644 --- a/docs/0.9.5/_modules/evennia/utils/optionhandler.html +++ b/docs/0.9.5/_modules/evennia/utils/optionhandler.html @@ -41,6 +41,7 @@

Source code for evennia.utils.optionhandler

 from evennia.utils.utils import string_partial_matching
 from evennia.utils.containers import OPTION_CLASSES
+from django.utils.translation import gettext as _
 
 _GA = object.__getattribute__
 _SA = object.__setattr__
@@ -175,7 +176,7 @@
         """
         if key not in self.options_dict:
             if raise_error:
-                raise KeyError("Option not found!")
+                raise KeyError(_("Option not found!"))
             return default
         # get the options or load/recache it
         op_found = self.options.get(key) or self._load_option(key)
@@ -196,12 +197,14 @@
 
         """
         if not key:
-            raise ValueError("Option field blank!")
+            raise ValueError(_("Option field blank!"))
         match = string_partial_matching(list(self.options_dict.keys()), key, ret_index=False)
         if not match:
-            raise ValueError("Option not found!")
+            raise ValueError(_("Option not found!"))
         if len(match) > 1:
-            raise ValueError(f"Multiple matches: {', '.join(match)}. Please be more specific.")
+            raise ValueError(_("Multiple matches:")
+                             + f"{', '.join(match)}. "
+                             + _("Please be more specific."))
         match = match[0]
         op = self.get(match, return_obj=True)
         op.set(value, **kwargs)
diff --git a/docs/0.9.5/_modules/evennia/utils/search.html b/docs/0.9.5/_modules/evennia/utils/search.html
index 8cd3eaa2b2..516fc36d7b 100644
--- a/docs/0.9.5/_modules/evennia/utils/search.html
+++ b/docs/0.9.5/_modules/evennia/utils/search.html
@@ -102,8 +102,7 @@
     from evennia.scripts.models import ScriptDB
     from evennia.comms.models import Msg, ChannelDB
     from evennia.help.models import HelpEntry
-    from evennia.typeclasses.tags import Tag
-
+    from evennia.typeclasses.tags import Tag  # noqa
 
 # -------------------------------------------------------------------
 # Search manager-wrappers
@@ -284,7 +283,7 @@
 def search_channel_attribute(
     key=None, category=None, value=None, strvalue=None, attrtype=None, **kwargs
 ):
-    return Channel.objects.get_by_attribute(
+    return ChannelDB.objects.get_by_attribute(
         key=key, category=category, value=value, strvalue=strvalue, attrtype=attrtype, **kwargs
     )
 
diff --git a/docs/0.9.5/_modules/evennia/utils/utils.html b/docs/0.9.5/_modules/evennia/utils/utils.html
index 0e9b2ac7fe..6ecf756693 100644
--- a/docs/0.9.5/_modules/evennia/utils/utils.html
+++ b/docs/0.9.5/_modules/evennia/utils/utils.html
@@ -50,7 +50,6 @@
 import os
 import gc
 import sys
-import copy
 import types
 import math
 import re
@@ -76,6 +75,7 @@
 from django.apps import apps
 from django.core.validators import validate_email as django_validate_email
 from django.core.exceptions import ValidationError as DjangoValidationError
+
 from evennia.utils import logger
 
 _MULTIMATCH_TEMPLATE = settings.SEARCH_MULTIMATCH_TEMPLATE
@@ -245,7 +245,7 @@
         baseline = lines[baseline_index]
         spaceremove = len(baseline) - len(baseline.lstrip(" "))
         return "\n".join(
-            line[min(spaceremove, len(line) - len(line.lstrip(" "))) :] for line in lines
+            line[min(spaceremove, len(line) - len(line.lstrip(" "))):] for line in lines
         )
@@ -384,7 +384,7 @@ cols = [] istart = 0 for irows in nrows: - cols.append(onecol[istart : istart + irows]) + cols.append(onecol[istart: istart + irows]) istart = istart + irows for col in cols: if len(col) < height: @@ -1070,8 +1070,6 @@ return engine == "django.db.backends.%s" % name
- -
[docs]def delay(timedelay, callback, *args, **kwargs): """ Delay the calling of a callback (function). @@ -1279,8 +1277,8 @@ except ImportError: errstring += ( "\n ERROR: IRC is enabled, but twisted.words is not installed. Please install it." - "\n Linux Debian/Ubuntu users should install package 'python-twisted-words', others" - "\n can get it from http://twistedmatrix.com/trac/wiki/TwistedWords." + "\n Linux Debian/Ubuntu users should install package 'python-twisted-words', " + "\n others can get it from http://twistedmatrix.com/trac/wiki/TwistedWords." ) not_error = False errstring = errstring.strip() @@ -1952,7 +1950,7 @@ wl = wls[ie] lrow = len(row) - debug = row.replace(" ", ".") + # debug = row.replace(" ", ".") if lrow + wl > width: # this slot extends outside grid, move to next line @@ -2011,8 +2009,6 @@ return _weighted_rows(elements)
- -
[docs]def get_evennia_pids(): """ Get the currently valid PIDs (Process IDs) of the Portal and @@ -2261,7 +2257,7 @@ error = "" if not matches: # no results. - error = kwargs.get("nofound_string") or _("Could not find '%s'." % query) + error = kwargs.get("nofound_string") or _("Could not find '{query}'.").format(query=query) matches = None elif len(matches) > 1: multimatch_string = kwargs.get("multimatch_string") @@ -2286,7 +2282,7 @@ name=result.get_display_name(caller) if hasattr(result, "get_display_name") else query, - aliases=" [%s]" % ";".join(aliases) if aliases else "", + aliases=" [{alias}]".format(alias=";".join(aliases) if aliases else ""), info=result.get_extra_info(caller), ) matches = None @@ -2364,7 +2360,7 @@ """ # current working directory, assumed to be somewhere inside gamedir. - for _ in range(10): + for inum in range(10): gpath = os.getcwd() if "server" in os.listdir(gpath): if os.path.isfile(os.path.join("server", "conf", "settings.py")): @@ -2379,16 +2375,16 @@ List available typeclasses from all available modules. Args: - parent (str, optional): If given, only return typeclasses inheriting (at any distance) - from this parent. + parent (str, optional): If given, only return typeclasses inheriting + (at any distance) from this parent. Returns: dict: On the form `{"typeclass.path": typeclass, ...}` Notes: - This will dynamically retrieve all abstract django models inheriting at any distance - from the TypedObject base (aka a Typeclass) so it will work fine with any custom - classes being added. + This will dynamically retrieve all abstract django models inheriting at + any distance from the TypedObject base (aka a Typeclass) so it will + work fine with any custom classes being added. """ from evennia.typeclasses.models import TypedObject @@ -2407,6 +2403,34 @@ return typeclasses
+
[docs]def get_all_cmdsets(parent=None): + """ + List available cmdsets from all available modules. + + Args: + parent (str, optional): If given, only return cmdsets inheriting (at + any distance) from this parent. + + Returns: + dict: On the form {"cmdset.path": cmdset, ...} + + Notes: + This will dynamically retrieve all abstract django models inheriting at + any distance from the CmdSet base so it will work fine with any custom + classes being added. + + """ + from evennia.commands.cmdset import CmdSet + + base_cmdset = class_from_module(parent) if parent else CmdSet + + cmdsets = { + "{}.{}".format(subclass.__module__, subclass.__name__): subclass + for subclass in base_cmdset.__subclasses__() + } + return cmdsets
+ +
[docs]def interactive(func): """ Decorator to make a method pausable with `yield(seconds)` diff --git a/docs/0.9.5/_modules/evennia/utils/validatorfuncs.html b/docs/0.9.5/_modules/evennia/utils/validatorfuncs.html index ee24182564..04043b8f35 100644 --- a/docs/0.9.5/_modules/evennia/utils/validatorfuncs.html +++ b/docs/0.9.5/_modules/evennia/utils/validatorfuncs.html @@ -63,18 +63,20 @@ try: return str(entry) except Exception as err: - raise ValueError(f"Input could not be converted to text ({err})")
+ raise ValueError(_("Input could not be converted to text ({err})").format(err=err))
[docs]def color(entry, option_key="Color", **kwargs): """ The color should be just a color character, so 'r' if red color is desired. + """ if not entry: - raise ValueError(f"Nothing entered for a {option_key}!") + raise ValueError(_("Nothing entered for a {option_key}!").format(option_key=option_key)) test_str = strip_ansi(f"|{entry}|n") if test_str: - raise ValueError(f"'{entry}' is not a valid {option_key}.") + raise ValueError(_("'{entry}' is not a valid {option_key}.").format( + entry=entry, option_key=option_key)) return entry
@@ -124,13 +126,17 @@ entry = f"{split_time[0]} {split_time[1]} {split_time[2]} {split_time[3]}" else: raise ValueError( - f"{option_key} must be entered in a 24-hour format such as: {now.strftime('%b %d %H:%M')}" + _("{option_key} must be entered in a 24-hour format such as: {timeformat}").format( + option_key=option_key, + timeformat=now.strftime('%b %d %H:%M')) ) try: local = _dt.datetime.strptime(entry, "%b %d %H:%M %Y") except ValueError: raise ValueError( - f"{option_key} must be entered in a 24-hour format such as: {now.strftime('%b %d %H:%M')}" + _("{option_key} must be entered in a 24-hour format such as: {timeformat}").format( + option_key=option_key, + timeformat=now.strftime('%b %d %H:%M')) ) local_tz = from_tz.localize(local) return local_tz.astimezone(utc)
@@ -141,8 +147,9 @@ Take a string and derive a datetime timedelta from it. Args: - entry (string): This is a string from user-input. The intended format is, for example: "5d 2w 90s" for - 'five days, two weeks, and ninety seconds.' Invalid sections are ignored. + entry (string): This is a string from user-input. The intended format is, for example: + "5d 2w 90s" for 'five days, two weeks, and ninety seconds.' Invalid sections are + ignored. option_key (str): Name to display this query as. Returns: @@ -170,7 +177,10 @@ elif _re.match(r"^[\d]+y$", interval): days += int(interval.rstrip("y")) * 365 else: - raise ValueError(f"Could not convert section '{interval}' to a {option_key}.") + raise ValueError( + _("Could not convert section '{interval}' to a {option_key}.").format( + interval=interval, option_key=option_key) + ) return _dt.timedelta(days, seconds, 0, 0, minutes, hours, weeks)
@@ -178,45 +188,56 @@
[docs]def future(entry, option_key="Future Datetime", from_tz=None, **kwargs): time = datetime(entry, option_key, from_tz=from_tz) if time < _dt.datetime.utcnow().replace(tzinfo=_dt.timezone.utc): - raise ValueError(f"That {option_key} is in the past! Must give a Future datetime!") + raise ValueError(_("That {option_key} is in the past! Must give a Future datetime!").format( + option_key=option_key)) return time
[docs]def signed_integer(entry, option_key="Signed Integer", **kwargs): if not entry: - raise ValueError(f"Must enter a whole number for {option_key}!") + raise ValueError(_("Must enter a whole number for {option_key}!").format( + option_key=option_key)) try: num = int(entry) except ValueError: - raise ValueError(f"Could not convert '{entry}' to a whole number for {option_key}!") + raise ValueError(_("Could not convert '{entry}' to a whole " + "number for {option_key}!").format( + entry=entry, option_key=option_key)) return num
[docs]def positive_integer(entry, option_key="Positive Integer", **kwargs): num = signed_integer(entry, option_key) if not num >= 1: - raise ValueError(f"Must enter a whole number greater than 0 for {option_key}!") + raise ValueError(_("Must enter a whole number greater than 0 for {option_key}!").format( + option_key=option_key)) return num
[docs]def unsigned_integer(entry, option_key="Unsigned Integer", **kwargs): num = signed_integer(entry, option_key) if not num >= 0: - raise ValueError(f"{option_key} must be a whole number greater than or equal to 0!") + raise ValueError(_("{option_key} must be a whole number greater than " + "or equal to 0!").format( + option_key=option_key)) return num
[docs]def boolean(entry, option_key="True/False", **kwargs): """ Simplest check in computer logic, right? This will take user input to flick the switch on or off + Args: entry (str): A value such as True, On, Enabled, Disabled, False, 0, or 1. option_key (str): What kind of Boolean we are setting. What Option is this for? Returns: Boolean + """ - error = f"Must enter 0 (false) or 1 (true) for {option_key}. Also accepts True, False, On, Off, Yes, No, Enabled, and Disabled" + error = (_("Must enter a true/false input for {option_key}. Accepts {alternatives}.").format( + option_key=option_key, + alternatives="0/1, True/False, On/Off, Yes/No, Enabled/Disabled")) if not isinstance(entry, str): raise ValueError(error) entry = entry.upper() @@ -237,41 +258,44 @@ Returns: A PYTZ timezone. + """ if not entry: - raise ValueError(f"No {option_key} entered!") + raise ValueError(_("No {option_key} entered!").format(option_key=option_key)) found = _partial(list(_TZ_DICT.keys()), entry, ret_index=False) if len(found) > 1: raise ValueError( - f"That matched: {', '.join(str(t) for t in found)}. Please be more specific!" - ) + _("That matched: {matches}. Please be more specific!").format( + matches=', '.join(str(t) for t in found))) if found: return _TZ_DICT[found[0]] - raise ValueError(f"Could not find timezone '{entry}' for {option_key}!")
+ raise ValueError(_("Could not find timezone '{entry}' for {option_key}!").format( + entry=entry, option_key=option_key))
[docs]def email(entry, option_key="Email Address", **kwargs): if not entry: - raise ValueError("Email address field empty!") + raise ValueError(_("Email address field empty!")) valid = validate_email_address(entry) if not valid: - raise ValueError(f"That isn't a valid {option_key}!") + raise ValueError(_("That isn't a valid {option_key}!").format(option_key=option_key)) return entry
[docs]def lock(entry, option_key="locks", access_options=None, **kwargs): entry = entry.strip() if not entry: - raise ValueError(f"No {option_key} entered to set!") + raise ValueError(_("No {option_key} entered to set!").format(option_key=option_key)) for locksetting in entry.split(";"): access_type, lockfunc = locksetting.split(":", 1) if not access_type: - raise ValueError("Must enter an access type!") + raise ValueError(_("Must enter an access type!")) if access_options: if access_type not in access_options: - raise ValueError(f"Access type must be one of: {', '.join(access_options)}") + raise ValueError(_("Access type must be one of: {alternatives}").format( + alternatives=', '.join(access_options))) if not lockfunc: - raise ValueError("Lock func not entered.") + raise ValueError(_("Lock func not entered.")) return entry
diff --git a/docs/0.9.5/_modules/evennia/web/utils/general_context.html b/docs/0.9.5/_modules/evennia/web/utils/general_context.html index b1cf413a29..6263bf67ca 100644 --- a/docs/0.9.5/_modules/evennia/web/utils/general_context.html +++ b/docs/0.9.5/_modules/evennia/web/utils/general_context.html @@ -39,41 +39,20 @@

Source code for evennia.web.utils.general_context

-#
-# This file defines global variables that will always be
-# available in a view context without having to repeatedly
-# include it. For this to work, this file is included in
-# the settings file, in the TEMPLATE_CONTEXT_PROCESSORS
-# tuple.
-#
+"""
+This file defines global variables that will always be available in a view
+context without having to repeatedly include it.
+
+For this to work, this file is included in the settings file, in the
+TEMPLATES["OPTIONS"]["context_processors"] list.
+
+"""
+
 
 import os
 from django.conf import settings
 from evennia.utils.utils import get_evennia_version
 
-# Determine the site name and server version
-
[docs]def set_game_name_and_slogan(): - """ - Sets global variables GAME_NAME and GAME_SLOGAN which are used by - general_context. - - Notes: - This function is used for unit testing the values of the globals. - """ - global GAME_NAME, GAME_SLOGAN, SERVER_VERSION - try: - GAME_NAME = settings.SERVERNAME.strip() - except AttributeError: - GAME_NAME = "Evennia" - SERVER_VERSION = get_evennia_version() - try: - GAME_SLOGAN = settings.GAME_SLOGAN.strip() - except AttributeError: - GAME_SLOGAN = SERVER_VERSION
- - -set_game_name_and_slogan() - # Setup lists of the most relevant apps so # the adminsite becomes more readable. @@ -82,7 +61,30 @@ GAME_SETUP = ["Permissions", "Config"] CONNECTIONS = ["Irc"] WEBSITE = ["Flatpages", "News", "Sites"] +REST_API_ENABLED = False +# Determine the site name and server version +
[docs]def set_game_name_and_slogan(): + """ + Sets global variables GAME_NAME and GAME_SLOGAN which are used by + general_context. + + Notes: + This function is used for unit testing the values of the globals. + + """ + global GAME_NAME, GAME_SLOGAN, SERVER_VERSION, REST_API_ENABLED + try: + GAME_NAME = settings.SERVERNAME.strip() + except AttributeError: + GAME_NAME = "Evennia" + SERVER_VERSION = get_evennia_version() + try: + GAME_SLOGAN = settings.GAME_SLOGAN.strip() + except AttributeError: + GAME_SLOGAN = SERVER_VERSION + + REST_API_ENABLED = settings.REST_API_ENABLED
[docs]def set_webclient_settings(): """ @@ -91,6 +93,7 @@ Notes: Used for unit testing. + """ global WEBCLIENT_ENABLED, WEBSOCKET_CLIENT_ENABLED, WEBSOCKET_PORT, WEBSOCKET_URL WEBCLIENT_ENABLED = settings.WEBCLIENT_ENABLED @@ -105,13 +108,15 @@ WEBSOCKET_URL = settings.WEBSOCKET_CLIENT_URL
+set_game_name_and_slogan() set_webclient_settings() # The main context processor function
[docs]def general_context(request): """ - Returns common Evennia-related context stuff, which - is automatically added to context of all views. + Returns common Evennia-related context stuff, which is automatically added + to context of all views. + """ account = None if request.user.is_authenticated: @@ -136,6 +141,7 @@ "websocket_enabled": WEBSOCKET_CLIENT_ENABLED, "websocket_port": WEBSOCKET_PORT, "websocket_url": WEBSOCKET_URL, + "rest_api_enabled": REST_API_ENABLED, }
diff --git a/docs/0.9.5/_modules/evennia/web/utils/tests.html b/docs/0.9.5/_modules/evennia/web/utils/tests.html index bacf2eb224..e95c5cfa48 100644 --- a/docs/0.9.5/_modules/evennia/web/utils/tests.html +++ b/docs/0.9.5/_modules/evennia/web/utils/tests.html @@ -50,13 +50,12 @@
[docs] @patch("evennia.web.utils.general_context.GAME_NAME", "test_name") @patch("evennia.web.utils.general_context.GAME_SLOGAN", "test_game_slogan") - @patch( - "evennia.web.utils.general_context.WEBSOCKET_CLIENT_ENABLED", - "websocket_client_enabled_testvalue", - ) + @patch("evennia.web.utils.general_context.WEBSOCKET_CLIENT_ENABLED", + "websocket_client_enabled_testvalue") @patch("evennia.web.utils.general_context.WEBCLIENT_ENABLED", "webclient_enabled_testvalue") @patch("evennia.web.utils.general_context.WEBSOCKET_PORT", "websocket_client_port_testvalue") @patch("evennia.web.utils.general_context.WEBSOCKET_URL", "websocket_client_url_testvalue") + @patch("evennia.web.utils.general_context.REST_API_ENABLED", True) def test_general_context(self): request = RequestFactory().get("/") request.user = AnonymousUser() @@ -80,6 +79,7 @@ "websocket_enabled": "websocket_client_enabled_testvalue", "websocket_port": "websocket_client_port_testvalue", "websocket_url": "websocket_client_url_testvalue", + "rest_api_enabled": True, }, )
@@ -89,6 +89,7 @@ def test_set_game_name_and_slogan(self, mock_get_version, mock_settings): mock_get_version.return_value = "version 1" # test default/fallback values + mock_settings.REST_API_ENABLED = False general_context.set_game_name_and_slogan() self.assertEqual(general_context.GAME_NAME, "Evennia") self.assertEqual(general_context.GAME_SLOGAN, "version 1") diff --git a/docs/0.9.5/_modules/evennia/web/website/forms.html b/docs/0.9.5/_modules/evennia/web/website/forms.html index dc7710a5c9..43112a3cc5 100644 --- a/docs/0.9.5/_modules/evennia/web/website/forms.html +++ b/docs/0.9.5/_modules/evennia/web/website/forms.html @@ -69,7 +69,7 @@ """ # Call parent function - cleaned = super(EvenniaForm, self).clean() + cleaned = super().clean() # Escape all values provided by user cleaned = {k: escape(v) for k, v in cleaned.items()} diff --git a/docs/0.9.5/_modules/evennia/web/website/views.html b/docs/0.9.5/_modules/evennia/web/website/views.html deleted file mode 100644 index 8147c102c7..0000000000 --- a/docs/0.9.5/_modules/evennia/web/website/views.html +++ /dev/null @@ -1,1235 +0,0 @@ - - - - - - - - evennia.web.website.views — Evennia 0.9.5 documentation - - - - - - - - - - - - - -
-
-
-
- -

Source code for evennia.web.website.views

-"""
-This file contains the generic, assorted views that don't fall under one of the other applications.
-Views are django's way of processing e.g. html templates on the fly.
-
-"""
-
-from collections import OrderedDict
-
-from django.contrib.admin.sites import site
-from django.conf import settings
-from django.contrib import messages
-from django.contrib.auth.mixins import LoginRequiredMixin
-from django.contrib.admin.views.decorators import staff_member_required
-from django.core.exceptions import PermissionDenied
-from django.db.models.functions import Lower
-from django.http import HttpResponseBadRequest, HttpResponseRedirect
-from django.shortcuts import render
-from django.urls import reverse_lazy
-from django.views.generic import TemplateView, ListView, DetailView
-from django.views.generic.base import RedirectView
-from django.views.generic.edit import CreateView, UpdateView, DeleteView
-
-from evennia import SESSION_HANDLER
-from evennia.help.models import HelpEntry
-from evennia.objects.models import ObjectDB
-from evennia.accounts.models import AccountDB
-from evennia.utils import class_from_module
-from evennia.utils.logger import tail_log_file
-from evennia.web.website import forms as website_forms
-
-from django.utils.text import slugify
-
-_BASE_CHAR_TYPECLASS = settings.BASE_CHARACTER_TYPECLASS
-
-# typeclass fallbacks
-
-def _gamestats():
-    # Some misc. configurable stuff.
-    # TODO: Move this to either SQL or settings.py based configuration.
-    fpage_account_limit = 4
-
-    # A QuerySet of the most recently connected accounts.
-    recent_users = AccountDB.objects.get_recently_connected_accounts()[:fpage_account_limit]
-    nplyrs_conn_recent = len(recent_users) or "none"
-    nplyrs = AccountDB.objects.num_total_accounts() or "none"
-    nplyrs_reg_recent = len(AccountDB.objects.get_recently_created_accounts()) or "none"
-    nsess = SESSION_HANDLER.account_count()
-    # nsess = len(AccountDB.objects.get_connected_accounts()) or "no one"
-
-    nobjs = ObjectDB.objects.count()
-    nobjs = nobjs or 1  # fix zero-div error with empty database
-    Character = class_from_module(settings.BASE_CHARACTER_TYPECLASS,
-                                  fallback=settings.FALLBACK_CHARACTER_TYPECLASS)
-    nchars = Character.objects.all_family().count()
-    Room = class_from_module(settings.BASE_ROOM_TYPECLASS,
-                             fallback=settings.FALLBACK_ROOM_TYPECLASS)
-    nrooms = Room.objects.all_family().count()
-    Exit = class_from_module(settings.BASE_EXIT_TYPECLASS,
-                             fallback=settings.FALLBACK_EXIT_TYPECLASS)
-    nexits = Exit.objects.all_family().count()
-    nothers = nobjs - nchars - nrooms - nexits
-
-    pagevars = {
-        "page_title": "Front Page",
-        "accounts_connected_recent": recent_users,
-        "num_accounts_connected": nsess or "no one",
-        "num_accounts_registered": nplyrs or "no",
-        "num_accounts_connected_recent": nplyrs_conn_recent or "no",
-        "num_accounts_registered_recent": nplyrs_reg_recent or "no one",
-        "num_rooms": nrooms or "none",
-        "num_exits": nexits or "no",
-        "num_objects": nobjs or "none",
-        "num_characters": nchars or "no",
-        "num_others": nothers or "no",
-    }
-    return pagevars
-
-
-
[docs]def to_be_implemented(request): - """ - A notice letting the user know that this particular feature hasn't been - implemented yet. - """ - - pagevars = {"page_title": "To Be Implemented..."} - - return render(request, "tbi.html", pagevars)
- - -
[docs]@staff_member_required -def evennia_admin(request): - """ - Helpful Evennia-specific admin page. - """ - return render(request, "evennia_admin.html", {"accountdb": AccountDB})
- - -
[docs]def admin_wrapper(request): - """ - Wrapper that allows us to properly use the base Django admin site, if needed. - """ - return staff_member_required(site.index)(request)
- - -# -# Class-based views -# - - -
[docs]class EvenniaIndexView(TemplateView): - """ - This is a basic example of a Django class-based view, which are functionally - very similar to Evennia Commands but differ in structure. Commands are used - to interface with users using a terminal client. Views are used to interface - with users using a web browser. - - To use a class-based view, you need to have written a template in HTML, and - then you write a view like this to tell Django what values to display on it. - - While there are simpler ways of writing views using plain functions (and - Evennia currently contains a few examples of them), just like Commands, - writing views as classes provides you with more flexibility-- you can extend - classes and change things to suit your needs rather than having to copy and - paste entire code blocks over and over. Django also comes with many default - views for displaying things, all of them implemented as classes. - - This particular example displays the index page. - - """ - - # Tell the view what HTML template to use for the page - template_name = "website/index.html" - - # This method tells the view what data should be displayed on the template. -
[docs] def get_context_data(self, **kwargs): - """ - This is a common Django method. Think of this as the website - equivalent of the Evennia Command.func() method. - - If you just want to display a static page with no customization, you - don't need to define this method-- just create a view, define - template_name and you're done. - - The only catch here is that if you extend or overwrite this method, - you'll always want to make sure you call the parent method to get a - context object. It's just a dict, but it comes prepopulated with all - sorts of background data intended for display on the page. - - You can do whatever you want to it, but it must be returned at the end - of this method. - - Keyword Args: - any (any): Passed through. - - Returns: - context (dict): Dictionary of data you want to display on the page. - - """ - # Always call the base implementation first to get a context object - context = super(EvenniaIndexView, self).get_context_data(**kwargs) - - # Add game statistics and other pagevars - context.update(_gamestats()) - - return context
- - -
[docs]class TypeclassMixin(object): - """ - This is a "mixin", a modifier of sorts. - - Django views typically work with classes called "models." Evennia objects - are an enhancement upon these Django models and are called "typeclasses." - But Django itself has no idea what a "typeclass" is. - - For the sake of mitigating confusion, any view class with this in its - inheritance list will be modified to work with Evennia Typeclass objects or - Django models interchangeably. - - """ - - @property - def typeclass(self): - return self.model - - @typeclass.setter - def typeclass(self, value): - self.model = value
- - -
[docs]class EvenniaCreateView(CreateView, TypeclassMixin): - """ - This view extends Django's default CreateView. - - CreateView is used for creating new objects, be they Accounts, Characters or - otherwise. - - """ - - @property - def page_title(self): - # Makes sure the page has a sensible title. - return "Create %s" % self.typeclass._meta.verbose_name.title()
- - -
[docs]class EvenniaDetailView(DetailView, TypeclassMixin): - """ - This view extends Django's default DetailView. - - DetailView is used for displaying objects, be they Accounts, Characters or - otherwise. - - """ - - @property - def page_title(self): - # Makes sure the page has a sensible title. - return "%s Detail" % self.typeclass._meta.verbose_name.title()
- - -
[docs]class EvenniaUpdateView(UpdateView, TypeclassMixin): - """ - This view extends Django's default UpdateView. - - UpdateView is used for updating objects, be they Accounts, Characters or - otherwise. - - """ - - @property - def page_title(self): - # Makes sure the page has a sensible title. - return "Update %s" % self.typeclass._meta.verbose_name.title()
- - -
[docs]class EvenniaDeleteView(DeleteView, TypeclassMixin): - """ - This view extends Django's default DeleteView. - - DeleteView is used for deleting objects, be they Accounts, Characters or - otherwise. - - """ - - @property - def page_title(self): - # Makes sure the page has a sensible title. - return "Delete %s" % self.typeclass._meta.verbose_name.title()
- - -# -# Object views -# - - -
[docs]class ObjectDetailView(EvenniaDetailView): - """ - This is an important view. - - Any view you write that deals with displaying, updating or deleting a - specific object will want to inherit from this. It provides the mechanisms - by which to retrieve the object and make sure the user requesting it has - permissions to actually *do* things to it. - - """ - - # -- Django constructs -- - # - # Choose what class of object this view will display. Note that this should - # be an actual Python class (i.e. do `from typeclasses.characters import - # Character`, then put `Character`), not an Evennia typeclass path - # (i.e. `typeclasses.characters.Character`). - # - # So when you extend it, this line should look simple, like: - # model = Object - model = class_from_module(settings.BASE_OBJECT_TYPECLASS, - fallback=settings.FALLBACK_OBJECT_TYPECLASS) - - # What HTML template you wish to use to display this page. - template_name = "website/object_detail.html" - - # -- Evennia constructs -- - # - # What lock type to check for the requesting user, authenticated or not. - # https://github.com/evennia/evennia/wiki/Locks#valid-access_types - access_type = "view" - - # What attributes of the object you wish to display on the page. Model-level - # attributes will take precedence over identically-named db.attributes! - # The order you specify here will be followed. - attributes = ["name", "desc"] - -
[docs] def get_context_data(self, **kwargs): - """ - Adds an 'attributes' list to the request context consisting of the - attributes specified at the class level, and in the order provided. - - Django views do not provide a way to reference dynamic attributes, so - we have to grab them all before we render the template. - - Returns: - context (dict): Django context object - - """ - # Get the base Django context object - context = super(ObjectDetailView, self).get_context_data(**kwargs) - - # Get the object in question - obj = self.get_object() - - # Create an ordered dictionary to contain the attribute map - attribute_list = OrderedDict() - - for attribute in self.attributes: - # Check if the attribute is a core fieldname (name, desc) - if attribute in self.typeclass._meta._property_names: - attribute_list[attribute.title()] = getattr(obj, attribute, "") - - # Check if the attribute is a db attribute (char1.db.favorite_color) - else: - attribute_list[attribute.title()] = getattr(obj.db, attribute, "") - - # Add our attribute map to the Django request context, so it gets - # displayed on the template - context["attribute_list"] = attribute_list - - # Return the comprehensive context object - return context
- -
[docs] def get_object(self, queryset=None): - """ - Override of Django hook that provides some important Evennia-specific - functionality. - - Evennia does not natively store slugs, so where a slug is provided, - calculate the same for the object and make sure it matches. - - This also checks to make sure the user has access to view/edit/delete - this object! - - """ - # A queryset can be provided to pre-emptively limit what objects can - # possibly be returned. For example, you can supply a queryset that - # only returns objects whose name begins with "a". - if not queryset: - queryset = self.get_queryset() - - # Get the object, ignoring all checks and filters for now - obj = self.typeclass.objects.get(pk=self.kwargs.get("pk")) - - # Check if this object was requested in a valid manner - if slugify(obj.name) != self.kwargs.get(self.slug_url_kwarg): - raise HttpResponseBadRequest( - "No %(verbose_name)s found matching the query" - % {"verbose_name": queryset.model._meta.verbose_name} - ) - - # Check if the requestor account has permissions to access object - account = self.request.user - if not obj.access(account, self.access_type): - raise PermissionDenied("You are not authorized to %s this object." % self.access_type) - - # Get the object, if it is in the specified queryset - obj = super(ObjectDetailView, self).get_object(queryset) - - return obj
- - -
[docs]class ObjectCreateView(LoginRequiredMixin, EvenniaCreateView): - """ - This is an important view. - - Any view you write that deals with creating a specific object will want to - inherit from this. It provides the mechanisms by which to make sure the user - requesting creation of an object is authenticated, and provides a sane - default title for the page. - - """ - - model = class_from_module(settings.BASE_OBJECT_TYPECLASS, - fallback=settings.FALLBACK_OBJECT_TYPECLASS)
- - -
[docs]class ObjectDeleteView(LoginRequiredMixin, ObjectDetailView, EvenniaDeleteView): - """ - This is an important view for obvious reasons! - - Any view you write that deals with deleting a specific object will want to - inherit from this. It provides the mechanisms by which to make sure the user - requesting deletion of an object is authenticated, and that they have - permissions to delete the requested object. - - """ - - # -- Django constructs -- - model = class_from_module(settings.BASE_OBJECT_TYPECLASS, - fallback=settings.FALLBACK_OBJECT_TYPECLASS) - template_name = "website/object_confirm_delete.html" - - # -- Evennia constructs -- - access_type = "delete" - -
[docs] def delete(self, request, *args, **kwargs): - """ - Calls the delete() method on the fetched object and then - redirects to the success URL. - - We extend this so we can capture the name for the sake of confirmation. - - """ - # Get the object in question. ObjectDetailView.get_object() will also - # check to make sure the current user (authenticated or not) has - # permission to delete it! - obj = str(self.get_object()) - - # Perform the actual deletion (the parent class handles this, which will - # in turn call the delete() method on the object) - response = super(ObjectDeleteView, self).delete(request, *args, **kwargs) - - # Notify the user of the deletion - messages.success(request, "Successfully deleted '%s'." % obj) - return response
- - -
[docs]class ObjectUpdateView(LoginRequiredMixin, ObjectDetailView, EvenniaUpdateView): - """ - This is an important view. - - Any view you write that deals with updating a specific object will want to - inherit from this. It provides the mechanisms by which to make sure the user - requesting editing of an object is authenticated, and that they have - permissions to edit the requested object. - - This functions slightly different from default Django UpdateViews in that - it does not update core model fields, *only* object attributes! - - """ - - # -- Django constructs -- - model = class_from_module(settings.BASE_OBJECT_TYPECLASS, - fallback=settings.FALLBACK_OBJECT_TYPECLASS) - - # -- Evennia constructs -- - access_type = "edit" - -
[docs] def get_success_url(self): - """ - Django hook. - - Can be overridden to return any URL you want to redirect the user to - after the object is successfully updated, but by default it goes to the - object detail page so the user can see their changes reflected. - - """ - if self.success_url: - return self.success_url - return self.object.web_get_detail_url()
- -
[docs] def get_initial(self): - """ - Django hook, modified for Evennia. - - Prepopulates the update form field values based on object db attributes. - - Returns: - data (dict): Dictionary of key:value pairs containing initial form - data. - - """ - # Get the object we want to update - obj = self.get_object() - - # Get attributes - data = {k: getattr(obj.db, k, "") for k in self.form_class.base_fields} - - # Get model fields - data.update({k: getattr(obj, k, "") for k in self.form_class.Meta.fields}) - - return data
- -
[docs] def form_valid(self, form): - """ - Override of Django hook. - - Updates object attributes based on values submitted. - - This is run when the form is submitted and the data on it is deemed - valid-- all values are within expected ranges, all strings contain - valid characters and lengths, etc. - - This method is only called if all values for the fields submitted - passed form validation, so at this point we can assume the data is - validated and sanitized. - - """ - # Get the attributes after they've been cleaned and validated - data = {k: v for k, v in form.cleaned_data.items() if k not in self.form_class.Meta.fields} - - # Update the object attributes - for key, value in data.items(): - self.object.attributes.add(key, value) - messages.success(self.request, "Successfully updated '%s' for %s." % (key, self.object)) - - # Do not return super().form_valid; we don't want to update the model - # instance, just its attributes. - return HttpResponseRedirect(self.get_success_url())
- - -# -# Account views -# - - -
[docs]class AccountMixin(TypeclassMixin): - """ - This is a "mixin", a modifier of sorts. - - Any view class with this in its inheritance list will be modified to work - with Account objects instead of generic Objects or otherwise. - - """ - - # -- Django constructs -- - model = class_from_module(settings.BASE_ACCOUNT_TYPECLASS, - fallback=settings.FALLBACK_ACCOUNT_TYPECLASS) - form_class = website_forms.AccountForm
- - -
[docs]class AccountCreateView(AccountMixin, EvenniaCreateView): - """ - Account creation view. - - """ - - # -- Django constructs -- - template_name = "website/registration/register.html" - success_url = reverse_lazy("login") - -
[docs] def form_valid(self, form): - """ - Django hook, modified for Evennia. - - This hook is called after a valid form is submitted. - - When an account creation form is submitted and the data is deemed valid, - proceeds with creating the Account object. - - """ - # Get values provided - username = form.cleaned_data["username"] - password = form.cleaned_data["password1"] - email = form.cleaned_data.get("email", "") - - # Create account - account, errs = self.typeclass.create(username=username, password=password, email=email) - - # If unsuccessful, display error messages to user - if not account: - [messages.error(self.request, err) for err in errs] - - # Call the Django "form failure" hook - return self.form_invalid(form) - - # Inform user of success - messages.success( - self.request, - "Your account '%s' was successfully created! " - "You may log in using it now." % account.name, - ) - - # Redirect the user to the login page - return HttpResponseRedirect(self.success_url)
- - -# -# Character views -# - - -
[docs]class CharacterMixin(TypeclassMixin): - """ - This is a "mixin", a modifier of sorts. - - Any view class with this in its inheritance list will be modified to work - with Character objects instead of generic Objects or otherwise. - - """ - - # -- Django constructs -- - model = class_from_module(settings.BASE_CHARACTER_TYPECLASS, - fallback=settings.FALLBACK_CHARACTER_TYPECLASS) - form_class = website_forms.CharacterForm - success_url = reverse_lazy("character-manage") - -
[docs] def get_queryset(self): - """ - This method will override the Django get_queryset method to only - return a list of characters associated with the current authenticated - user. - - Returns: - queryset (QuerySet): Django queryset for use in the given view. - - """ - # Get IDs of characters owned by account - account = self.request.user - ids = [getattr(x, "id") for x in account.characters if x] - - # Return a queryset consisting of those characters - return self.typeclass.objects.filter(id__in=ids).order_by(Lower("db_key"))
- - -
[docs]class CharacterListView(LoginRequiredMixin, CharacterMixin, ListView): - """ - This view provides a mechanism by which a logged-in player can view a list - of all other characters. - - This view requires authentication by default as a nominal effort to prevent - human stalkers and automated bots/scrapers from harvesting data on your users. - - """ - - # -- Django constructs -- - template_name = "website/character_list.html" - paginate_by = 100 - - # -- Evennia constructs -- - page_title = "Character List" - access_type = "view" - -
[docs] def get_queryset(self): - """ - This method will override the Django get_queryset method to return a - list of all characters (filtered/sorted) instead of just those limited - to the account. - - Returns: - queryset (QuerySet): Django queryset for use in the given view. - - """ - account = self.request.user - - # Return a queryset consisting of characters the user is allowed to - # see. - ids = [ - obj.id for obj in self.typeclass.objects.all() if obj.access(account, self.access_type) - ] - - return self.typeclass.objects.filter(id__in=ids).order_by(Lower("db_key"))
- - -
[docs]class CharacterPuppetView(LoginRequiredMixin, CharacterMixin, RedirectView, ObjectDetailView): - """ - This view provides a mechanism by which a logged-in player can "puppet" one - of their characters within the context of the website. - - It also ensures that any user attempting to puppet something is logged in, - and that their intended puppet is one that they own. - - """ - -
[docs] def get_redirect_url(self, *args, **kwargs): - """ - Django hook. - - This view returns the URL to which the user should be redirected after - a passed or failed puppet attempt. - - Returns: - url (str): Path to post-puppet destination. - - """ - # Get the requested character, if it belongs to the authenticated user - char = self.get_object() - - # Get the page the user came from - next_page = self.request.GET.get("next", self.success_url) - - if char: - # If the account owns the char, store the ID of the char in the - # Django request's session (different from Evennia session!). - # We do this because characters don't serialize well. - self.request.session["puppet"] = int(char.pk) - messages.success(self.request, "You become '%s'!" % char) - else: - # If the puppeting failed, clear out the cached puppet value - self.request.session["puppet"] = None - messages.error(self.request, "You cannot become '%s'." % char) - - return next_page
- - -
[docs]class CharacterManageView(LoginRequiredMixin, CharacterMixin, ListView): - """ - This view provides a mechanism by which a logged-in player can browse, - edit, or delete their own characters. - - """ - - # -- Django constructs -- - paginate_by = 10 - template_name = "website/character_manage_list.html" - - # -- Evennia constructs -- - page_title = "Manage Characters"
- - -
[docs]class CharacterUpdateView(CharacterMixin, ObjectUpdateView): - """ - This view provides a mechanism by which a logged-in player (enforced by - ObjectUpdateView) can edit the attributes of a character they own. - - """ - - # -- Django constructs -- - form_class = website_forms.CharacterUpdateForm - template_name = "website/character_form.html"
- - -
[docs]class CharacterDetailView(CharacterMixin, ObjectDetailView): - """ - This view provides a mechanism by which a user can view the attributes of - a character, owned by them or not. - - """ - - # -- Django constructs -- - template_name = "website/object_detail.html" - - # -- Evennia constructs -- - # What attributes to display for this object - attributes = ["name", "desc"] - access_type = "view" - -
[docs] def get_queryset(self): - """ - This method will override the Django get_queryset method to return a - list of all characters the user may access. - - Returns: - queryset (QuerySet): Django queryset for use in the given view. - - """ - account = self.request.user - - # Return a queryset consisting of characters the user is allowed to - # see. - ids = [ - obj.id for obj in self.typeclass.objects.all() if obj.access(account, self.access_type) - ] - - return self.typeclass.objects.filter(id__in=ids).order_by(Lower("db_key"))
- - -
[docs]class CharacterDeleteView(CharacterMixin, ObjectDeleteView): - """ - This view provides a mechanism by which a logged-in player (enforced by - ObjectDeleteView) can delete a character they own. - - """ - - pass
- - -
[docs]class CharacterCreateView(CharacterMixin, ObjectCreateView): - """ - This view provides a mechanism by which a logged-in player (enforced by - ObjectCreateView) can create a new character. - - """ - - # -- Django constructs -- - template_name = "website/character_form.html" - -
[docs] def form_valid(self, form): - """ - Django hook, modified for Evennia. - - This hook is called after a valid form is submitted. - - When an character creation form is submitted and the data is deemed valid, - proceeds with creating the Character object. - - """ - # Get account object creating the character - account = self.request.user - character = None - - # Get attributes from the form - self.attributes = {k: form.cleaned_data[k] for k in form.cleaned_data.keys()} - charname = self.attributes.pop("db_key") - description = self.attributes.pop("desc") - # Create a character - character, errors = self.typeclass.create(charname, account, description=description) - - if errors: - # Echo error messages to the user - [messages.error(self.request, x) for x in errors] - - if character: - # Assign attributes from form - for key, value in self.attributes.items(): - setattr(character.db, key, value) - - # Return the user to the character management page, unless overridden - messages.success(self.request, "Your character '%s' was created!" % character.name) - return HttpResponseRedirect(self.success_url) - - else: - # Call the Django "form failed" hook - messages.error(self.request, "Your character could not be created.") - return self.form_invalid(form)
- - -# -# Channel views -# - - -
[docs]class ChannelMixin(TypeclassMixin): - """ - This is a "mixin", a modifier of sorts. - - Any view class with this in its inheritance list will be modified to work - with HelpEntry objects instead of generic Objects or otherwise. - - """ - - # -- Django constructs -- - model = class_from_module(settings.BASE_CHANNEL_TYPECLASS, - fallback=settings.FALLBACK_CHANNEL_TYPECLASS) - - # -- Evennia constructs -- - page_title = "Channels" - - # What lock type to check for the requesting user, authenticated or not. - # https://github.com/evennia/evennia/wiki/Locks#valid-access_types - access_type = "listen" - -
[docs] def get_queryset(self): - """ - Django hook; here we want to return a list of only those Channels - and other documentation that the current user is allowed to see. - - Returns: - queryset (QuerySet): List of Channels available to the user. - - """ - account = self.request.user - - # Get list of all Channels - channels = self.typeclass.objects.all().iterator() - - # Now figure out which ones the current user is allowed to see - bucket = [channel.id for channel in channels if channel.access(account, "listen")] - - # Re-query and set a sorted list - filtered = self.typeclass.objects.filter(id__in=bucket).order_by(Lower("db_key")) - - return filtered
- - -
[docs]class ChannelListView(ChannelMixin, ListView): - """ - Returns a list of channels that can be viewed by a user, authenticated - or not. - - """ - - # -- Django constructs -- - paginate_by = 100 - template_name = "website/channel_list.html" - - # -- Evennia constructs -- - page_title = "Channel Index" - - max_popular = 10 - -
[docs] def get_context_data(self, **kwargs): - """ - Django hook; we override it to calculate the most popular channels. - - Returns: - context (dict): Django context object - - """ - context = super(ChannelListView, self).get_context_data(**kwargs) - - # Calculate which channels are most popular - context["most_popular"] = sorted( - list(self.get_queryset()), - key=lambda channel: len(channel.subscriptions.all()), - reverse=True, - )[: self.max_popular] - - return context
- - -
[docs]class ChannelDetailView(ChannelMixin, ObjectDetailView): - """ - Returns the log entries for a given channel. - - """ - - # -- Django constructs -- - template_name = "website/channel_detail.html" - - # -- Evennia constructs -- - # What attributes of the object you wish to display on the page. Model-level - # attributes will take precedence over identically-named db.attributes! - # The order you specify here will be followed. - attributes = ["name"] - - # How many log entries to read and display. - max_num_lines = 10000 - -
[docs] def get_context_data(self, **kwargs): - """ - Django hook; before we can display the channel logs, we need to recall - the logfile and read its lines. - - Returns: - context (dict): Django context object - - """ - # Get the parent context object, necessary first step - context = super(ChannelDetailView, self).get_context_data(**kwargs) - - # Get the filename this Channel is recording to - filename = self.object.attributes.get( - "log_file", default="channel_%s.log" % self.object.key - ) - - # Split log entries so we can filter by time - bucket = [] - for log in (x.strip() for x in tail_log_file(filename, 0, self.max_num_lines)): - if not log: - continue - time, msg = log.split(" [-] ") - time_key = time.split(":")[0] - - bucket.append({"key": time_key, "timestamp": time, "message": msg}) - - # Add the processed entries to the context - context["object_list"] = bucket - - # Get a list of unique timestamps by hour and sort them - context["object_filters"] = sorted(set([x["key"] for x in bucket])) - - return context
- -
[docs] def get_object(self, queryset=None): - """ - Override of Django hook that retrieves an object by slugified channel - name. - - Returns: - channel (Channel): Channel requested in the URL. - - """ - # Get the queryset for the help entries the user can access - if not queryset: - queryset = self.get_queryset() - - # Find the object in the queryset - channel = slugify(self.kwargs.get("slug", "")) - obj = next((x for x in queryset if slugify(x.db_key) == channel), None) - - # Check if this object was requested in a valid manner - if not obj: - raise HttpResponseBadRequest( - "No %(verbose_name)s found matching the query" - % {"verbose_name": queryset.model._meta.verbose_name} - ) - - return obj
- - -# -# Help views -# - - -
[docs]class HelpMixin(TypeclassMixin): - """ - This is a "mixin", a modifier of sorts. - - Any view class with this in its inheritance list will be modified to work - with HelpEntry objects instead of generic Objects or otherwise. - - """ - - # -- Django constructs -- - model = HelpEntry - - # -- Evennia constructs -- - page_title = "Help" - -
[docs] def get_queryset(self): - """ - Django hook; here we want to return a list of only those HelpEntries - and other documentation that the current user is allowed to see. - - Returns: - queryset (QuerySet): List of Help entries available to the user. - - """ - account = self.request.user - - # Get list of all HelpEntries - entries = self.typeclass.objects.all().iterator() - - # Now figure out which ones the current user is allowed to see - bucket = [entry.id for entry in entries if entry.access(account, "view")] - - # Re-query and set a sorted list - filtered = ( - self.typeclass.objects.filter(id__in=bucket) - .order_by(Lower("db_key")) - .order_by(Lower("db_help_category")) - ) - - return filtered
- - -
[docs]class HelpListView(HelpMixin, ListView): - """ - Returns a list of help entries that can be viewed by a user, authenticated - or not. - - """ - - # -- Django constructs -- - paginate_by = 500 - template_name = "website/help_list.html" - - # -- Evennia constructs -- - page_title = "Help Index"
- - -
[docs]class HelpDetailView(HelpMixin, EvenniaDetailView): - """ - Returns the detail page for a given help entry. - - """ - - # -- Django constructs -- - template_name = "website/help_detail.html" - -
[docs] def get_context_data(self, **kwargs): - """ - Adds navigational data to the template to let browsers go to the next - or previous entry in the help list. - - Returns: - context (dict): Django context object - - """ - context = super(HelpDetailView, self).get_context_data(**kwargs) - - # Get the object in question - obj = self.get_object() - - # Get queryset and filter out non-related categories - queryset = ( - self.get_queryset() - .filter(db_help_category=obj.db_help_category) - .order_by(Lower("db_key")) - ) - context["topic_list"] = queryset - - # Find the index position of the given obj in the queryset - objs = list(queryset) - for i, x in enumerate(objs): - if obj is x: - break - - # Find the previous and next topics, if either exist - try: - assert i + 1 <= len(objs) and objs[i + 1] is not obj - context["topic_next"] = objs[i + 1] - except: - context["topic_next"] = None - - try: - assert i - 1 >= 0 and objs[i - 1] is not obj - context["topic_previous"] = objs[i - 1] - except: - context["topic_previous"] = None - - # Format the help entry using HTML instead of newlines - text = obj.db_entrytext - text = text.replace("\r\n\r\n", "\n\n") - text = text.replace("\r\n", "\n") - text = text.replace("\n", "<br />") - context["entry_text"] = text - - return context
- -
[docs] def get_object(self, queryset=None): - """ - Override of Django hook that retrieves an object by category and topic - instead of pk and slug. - - Returns: - entry (HelpEntry): HelpEntry requested in the URL. - - """ - # Get the queryset for the help entries the user can access - if not queryset: - queryset = self.get_queryset() - - # Find the object in the queryset - category = slugify(self.kwargs.get("category", "")) - topic = slugify(self.kwargs.get("topic", "")) - obj = next( - ( - x - for x in queryset - if slugify(x.db_help_category) == category and slugify(x.db_key) == topic - ), - None, - ) - - # Check if this object was requested in a valid manner - if not obj: - return HttpResponseBadRequest( - "No %(verbose_name)s found matching the query" - % {"verbose_name": queryset.model._meta.verbose_name} - ) - - return obj
-
- -
-
-
-
- -
-
- - - - \ No newline at end of file diff --git a/docs/0.9.5/_modules/index.html b/docs/0.9.5/_modules/index.html index bbf74ca986..3f6136eb0e 100644 --- a/docs/0.9.5/_modules/index.html +++ b/docs/0.9.5/_modules/index.html @@ -41,10 +41,8 @@
  • django.db.models.fields.related_descriptors
  • django.db.models.manager
  • django.db.models.query_utils
  • -
  • django.utils.functional
  • evennia
  • functools
  • diff --git a/docs/0.9.5/_static/nature.css b/docs/0.9.5/_static/nature.css index 5c0df42795..f0cad24e91 100644 --- a/docs/0.9.5/_static/nature.css +++ b/docs/0.9.5/_static/nature.css @@ -340,7 +340,8 @@ div.code-block-caption { } .versionchanged { - background-color: #f7f7f7; + background-color: #b7e6e8; + padding-left: 10px; } .deprecated { diff --git a/docs/0.9.5/api/evennia-api.html b/docs/0.9.5/api/evennia-api.html index 78b44295a1..e47dcba0b7 100644 --- a/docs/0.9.5/api/evennia-api.html +++ b/docs/0.9.5/api/evennia-api.html @@ -168,10 +168,7 @@
  • evennia.locks
  • diff --git a/docs/0.9.5/api/evennia.accounts.accounts.html b/docs/0.9.5/api/evennia.accounts.accounts.html index 756a853ddc..e49c18e290 100644 --- a/docs/0.9.5/api/evennia.accounts.accounts.html +++ b/docs/0.9.5/api/evennia.accounts.accounts.html @@ -39,7 +39,7 @@

    evennia.accounts.accounts

    -

    Typeclass for Account objects

    +

    Typeclass for Account objects.

    Note that this object is primarily intended to store OOC information, not game info! This object represents the actual user (not their @@ -454,8 +454,9 @@ error (ValidationError, None): Any validation error(s) raised. Multiple

    Notes

    -

    This is called by Django also when logging in; it should not be mixed up with validation, since that -would mean old passwords in the database (pre validation checks) could get invalidated.

    +

    This is called by Django also when logging in; it should not be mixed up with +validation, since that would mean old passwords in the database (pre validation checks) +could get invalidated.

    diff --git a/docs/0.9.5/api/evennia.accounts.admin.html b/docs/0.9.5/api/evennia.accounts.admin.html index f64866b4a3..0dff3c2a71 100644 --- a/docs/0.9.5/api/evennia.accounts.admin.html +++ b/docs/0.9.5/api/evennia.accounts.admin.html @@ -37,308 +37,8 @@
    -
    -

    evennia.accounts.admin

    -
    -
    -class evennia.accounts.admin.AccountDBChangeForm(*args, **kwargs)[source]
    -

    Bases: django.contrib.auth.forms.UserChangeForm

    -

    Modify the accountdb class.

    -
    -
    -class Meta[source]
    -

    Bases: object

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB

    -
    - -
    -
    -fields = '__all__'
    -
    - -
    - -
    -
    -clean_username()[source]
    -

    Clean the username and check its existence.

    -
    - -
    -
    -base_fields = {'date_joined': <django.forms.fields.DateTimeField object>, 'db_attributes': <django.forms.models.ModelMultipleChoiceField object>, 'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_is_bot': <django.forms.fields.BooleanField object>, 'db_is_connected': <django.forms.fields.BooleanField object>, 'db_key': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_tags': <django.forms.models.ModelMultipleChoiceField object>, 'db_typeclass_path': <django.forms.fields.CharField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'is_staff': <django.forms.fields.BooleanField object>, 'is_superuser': <django.forms.fields.BooleanField object>, 'last_login': <django.forms.fields.DateTimeField object>, 'last_name': <django.forms.fields.CharField object>, 'password': <django.contrib.auth.forms.ReadOnlyPasswordHashField object>, 'user_permissions': <django.forms.models.ModelMultipleChoiceField object>, 'username': <django.forms.fields.RegexField object>}
    -
    - -
    -
    -declared_fields = {'password': <django.contrib.auth.forms.ReadOnlyPasswordHashField object>, 'username': <django.forms.fields.RegexField object>}
    -
    - -
    -
    -property media
    -

    Return all media required to render the widgets on this form.

    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountDBCreationForm(*args, **kwargs)[source]
    -

    Bases: django.contrib.auth.forms.UserCreationForm

    -

    Create a new AccountDB instance.

    -
    -
    -class Meta[source]
    -

    Bases: object

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB

    -
    - -
    -
    -fields = '__all__'
    -
    - -
    - -
    -
    -clean_username()[source]
    -

    Cleanup username.

    -
    - -
    -
    -base_fields = {'date_joined': <django.forms.fields.DateTimeField object>, 'db_attributes': <django.forms.models.ModelMultipleChoiceField object>, 'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_is_bot': <django.forms.fields.BooleanField object>, 'db_is_connected': <django.forms.fields.BooleanField object>, 'db_key': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_tags': <django.forms.models.ModelMultipleChoiceField object>, 'db_typeclass_path': <django.forms.fields.CharField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'is_staff': <django.forms.fields.BooleanField object>, 'is_superuser': <django.forms.fields.BooleanField object>, 'last_login': <django.forms.fields.DateTimeField object>, 'last_name': <django.forms.fields.CharField object>, 'password': <django.forms.fields.CharField object>, 'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'user_permissions': <django.forms.models.ModelMultipleChoiceField object>, 'username': <django.forms.fields.RegexField object>}
    -
    - -
    -
    -declared_fields = {'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'username': <django.forms.fields.RegexField object>}
    -
    - -
    -
    -property media
    -

    Return all media required to render the widgets on this form.

    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
    -

    Bases: django.forms.models.ModelForm

    -

    Defines how to display Accounts

    -
    -
    -class Meta[source]
    -

    Bases: object

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB

    -
    - -
    -
    -fields = '__all__'
    -
    - -
    -
    -app_label = 'accounts'
    -
    - -
    - -
    -
    -base_fields = {'date_joined': <django.forms.fields.DateTimeField object>, 'db_attributes': <django.forms.models.ModelMultipleChoiceField object>, 'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_is_bot': <django.forms.fields.BooleanField object>, 'db_is_connected': <django.forms.fields.BooleanField object>, 'db_key': <django.forms.fields.RegexField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_permissions': <django.forms.fields.CharField object>, 'db_tags': <django.forms.models.ModelMultipleChoiceField object>, 'db_typeclass_path': <django.forms.fields.CharField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'is_active': <django.forms.fields.BooleanField object>, 'is_staff': <django.forms.fields.BooleanField object>, 'is_superuser': <django.forms.fields.BooleanField object>, 'last_login': <django.forms.fields.DateTimeField object>, 'last_name': <django.forms.fields.CharField object>, 'password': <django.forms.fields.CharField object>, 'user_permissions': <django.forms.models.ModelMultipleChoiceField object>, 'username': <django.forms.fields.CharField object>}
    -
    - -
    -
    -declared_fields = {'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_key': <django.forms.fields.RegexField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_permissions': <django.forms.fields.CharField object>, 'db_typeclass_path': <django.forms.fields.CharField object>}
    -
    - -
    -
    -property media
    -

    Return all media required to render the widgets on this form.

    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountInline(parent_model, admin_site)[source]
    -

    Bases: django.contrib.admin.options.StackedInline

    -

    Inline creation of Account

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB

    -
    - -
    -
    -template = 'admin/accounts/stacked.html'
    -
    - -
    -
    -form
    -

    alias of AccountForm

    -
    - -
    -
    -fieldsets = (('In-game Permissions and Locks', {'fields': ('db_lock_storage',), 'description': '<i>These are permissions/locks for in-game use. They are unrelated to website access rights.</i>'}), ('In-game Account data', {'fields': ('db_typeclass_path', 'db_cmdset_storage'), 'description': '<i>These fields define in-game-specific properties for the Account object in-game.</i>'}))
    -
    - -
    -
    -extra = 1
    -
    - -
    -
    -max_num = 1
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountTagInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.TagInline

    -

    Inline Account Tags.

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB_db_tags

    -
    - -
    -
    -related_field = 'accountdb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountAttributeInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.AttributeInline

    -

    Inline Account Attributes.

    -
    -
    -model
    -

    alias of evennia.accounts.models.AccountDB_db_attributes

    -
    - -
    -
    -related_field = 'accountdb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.accounts.admin.AccountDBAdmin(model, admin_site)[source]
    -

    Bases: django.contrib.auth.admin.UserAdmin

    -

    This is the main creation screen for Users/accounts

    -
    -
    -list_display = ('username', 'email', 'is_staff', 'is_superuser')
    -
    - -
    -
    -form
    -

    alias of AccountDBChangeForm

    -
    - -
    -
    -add_form
    -

    alias of AccountDBCreationForm

    -
    - -
    -
    -inlines = [<class 'evennia.accounts.admin.AccountTagInline'>, <class 'evennia.accounts.admin.AccountAttributeInline'>]
    -
    - -
    -
    -fieldsets = ((None, {'fields': ('username', 'password', 'email')}), ('Website profile', {'fields': ('first_name', 'last_name'), 'description': '<i>These are not used in the default system.</i>'}), ('Website dates', {'fields': ('last_login', 'date_joined'), 'description': '<i>Relevant only to the website.</i>'}), ('Website Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'user_permissions', 'groups'), 'description': '<i>These are permissions/permission groups for accessing the admin site. They are unrelated to in-game access rights.</i>'}), ('Game Options', {'fields': ('db_typeclass_path', 'db_cmdset_storage', 'db_lock_storage'), 'description': '<i>These are attributes that are more relevant to gameplay.</i>'}))
    -
    - -
    -
    -add_fieldsets = ((None, {'fields': ('username', 'password1', 'password2', 'email'), 'description': '<i>These account details are shared by the admin system and the game.</i>'}),)
    -
    - -
    -
    -user_change_password(request, id, form_url='')[source]
    -
    - -
    -
    -save_model(request, obj, form, change)[source]
    -

    Custom save actions.

    -
    -
    Parameters
    -
      -
    • request (Request) – Incoming request.

    • -
    • obj (Object) – Object to save.

    • -
    • form (Form) – Related form instance.

    • -
    • change (bool) – False if this is a new save and not an update.

    • -
    -
    -
    -
    - -
    -
    -response_add(request, obj, post_url_continue=None)[source]
    -

    Determine the HttpResponse for the add_view stage. It mostly defers to -its superclass implementation but is customized because the User model -has a slightly different workflow.

    -
    - -
    -
    -property media
    -
    - -
    - +
    +

    evennia.accounts.admin

    @@ -380,7 +80,7 @@ has a slightly different workflow.

    Versions

    diff --git a/docs/0.9.5/api/evennia.commands.cmdsethandler.html b/docs/0.9.5/api/evennia.commands.cmdsethandler.html index 476d1ae83d..92de8f282c 100644 --- a/docs/0.9.5/api/evennia.commands.cmdsethandler.html +++ b/docs/0.9.5/api/evennia.commands.cmdsethandler.html @@ -176,7 +176,7 @@ to the central cmdhandler.get_and_merge_cmdsets()!

    -add(cmdset, emit_to_obj=None, persistent=True, permanent=True, default_cmdset=False, **kwargs)[source]
    +add(cmdset, emit_to_obj=None, persistent=True, default_cmdset=False, **kwargs)[source]

    Add a cmdset to the handler, on top of the old ones, unless it is set as the default one (it will then end up at the bottom of the stack)

    @@ -186,8 +186,6 @@ is set as the default one (it will then end up at the bottom of the stack)

    to such an object.

  • emit_to_obj (Object, optional) – An object to receive error messages.

  • persistent (bool, optional) – Let cmdset remain across server reload.

  • -
  • permanent (bool, optional) – DEPRECATED. This has the same use as -persistent.

  • default_cmdset (Cmdset, optional) – Insert this to replace the default cmdset position (there is only one such position, always at the bottom of the stack).

  • @@ -208,14 +206,14 @@ it’s a ‘quirk’ that has to be documented.

    -add_default(cmdset, emit_to_obj=None, permanent=True)[source]
    +add_default(cmdset, emit_to_obj=None, persistent=True, **kwargs)[source]

    Shortcut for adding a default cmdset.

    Parameters
    • cmdset (Cmdset) – The Cmdset to add.

    • emit_to_obj (Object, optional) – Gets error messages

    • -
    • permanent (bool, optional) – The new Cmdset should survive a server reboot.

    • +
    • persistent (bool, optional) – The new Cmdset should survive a server reboot.

    diff --git a/docs/0.9.5/api/evennia.commands.default.account.html b/docs/0.9.5/api/evennia.commands.default.account.html index 70f77d2a0f..78b2b2919a 100644 --- a/docs/0.9.5/api/evennia.commands.default.account.html +++ b/docs/0.9.5/api/evennia.commands.default.account.html @@ -566,7 +566,7 @@ also for those with all permissions.

    Bases: evennia.commands.default.muxcommand.MuxCommand

    testing which colors your client support

    -
    Usage:

    color ansi||xterm256

    +
    Usage:

    color ansi | xterm256

    Prints a color map along with in-mud color codes to use to produce @@ -639,7 +639,7 @@ Takes a table of columns [[val,val,…],[val,val,…],…]

    -search_index_entry = {'aliases': '', 'category': 'general', 'key': 'color', 'tags': '', 'text': '\n testing which colors your client support\n\n Usage:\n color ansi||xterm256\n\n Prints a color map along with in-mud color codes to use to produce\n them. It also tests what is supported in your client. Choices are\n 16-color ansi (supported in most muds) or the 256-color xterm256\n standard. No checking is done to determine your client supports\n color - if not you will see rubbish appear.\n '}
    +search_index_entry = {'aliases': '', 'category': 'general', 'key': 'color', 'tags': '', 'text': '\n testing which colors your client support\n\n Usage:\n color ansi | xterm256\n\n Prints a color map along with in-mud color codes to use to produce\n them. It also tests what is supported in your client. Choices are\n 16-color ansi (supported in most muds) or the 256-color xterm256\n standard. No checking is done to determine your client supports\n color - if not you will see rubbish appear.\n '}
    diff --git a/docs/0.9.5/api/evennia.commands.default.admin.html b/docs/0.9.5/api/evennia.commands.default.admin.html index b2f8811083..6dc6896860 100644 --- a/docs/0.9.5/api/evennia.commands.default.admin.html +++ b/docs/0.9.5/api/evennia.commands.default.admin.html @@ -254,7 +254,7 @@ to accounts respectively.

    -aliases = ['pemit', 'remit']
    +aliases = ['remit', 'pemit']
    @@ -285,7 +285,7 @@ to accounts respectively.

    -search_index_entry = {'aliases': 'pemit remit', 'category': 'admin', 'key': 'emit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
    +search_index_entry = {'aliases': 'remit pemit', 'category': 'admin', 'key': 'emit', 'tags': '', 'text': '\n admin command for emitting message to multiple objects\n\n Usage:\n emit[/switches] [<obj>, <obj>, ... =] <message>\n remit [<obj>, <obj>, ... =] <message>\n pemit [<obj>, <obj>, ... =] <message>\n\n Switches:\n room - limit emits to rooms only (default)\n accounts - limit emits to accounts only\n contents - send to the contents of matched objects too\n\n Emits a message to the selected objects or to\n your immediate surroundings. If the object is a room,\n send to its contents. remit and pemit are just\n limited forms of emit, for sending to rooms and\n to accounts respectively.\n '}
    diff --git a/docs/0.9.5/api/evennia.commands.default.batchprocess.html b/docs/0.9.5/api/evennia.commands.default.batchprocess.html index 747da26382..1d0298b263 100644 --- a/docs/0.9.5/api/evennia.commands.default.batchprocess.html +++ b/docs/0.9.5/api/evennia.commands.default.batchprocess.html @@ -75,7 +75,7 @@ skipping, reloading etc.

    -aliases = ['batchcommand', 'batchcmd']
    +aliases = ['batchcmd', 'batchcommand']
    @@ -106,7 +106,7 @@ skipping, reloading etc.

    -search_index_entry = {'aliases': 'batchcommand batchcmd', 'category': 'building', 'key': 'batchcommands', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
    +search_index_entry = {'aliases': 'batchcmd batchcommand', 'category': 'building', 'key': 'batchcommands', 'tags': '', 'text': '\n build from batch-command file\n\n Usage:\n batchcommands[/interactive] <python.path.to.file>\n\n Switch:\n interactive - this mode will offer more control when\n executing the batch file, like stepping,\n skipping, reloading etc.\n\n Runs batches of commands from a batch-cmd text file (*.ev).\n\n '}
    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 c91937665f..e477ca8b5e 100644 --- a/docs/0.9.5/api/evennia.commands.default.building.html +++ b/docs/0.9.5/api/evennia.commands.default.building.html @@ -1268,7 +1268,7 @@ server settings.

    -aliases = ['parent', 'update', 'type', 'swap']
    +aliases = ['update', 'type', 'parent', 'swap']
    @@ -1299,7 +1299,7 @@ server settings.

    -search_index_entry = {'aliases': 'parent update type swap', 'category': 'building', 'key': 'typeclass', '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 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.\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': 'update type parent swap', 'category': 'building', 'key': 'typeclass', '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 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.\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 "}
    diff --git a/docs/0.9.5/api/evennia.commands.default.comms.html b/docs/0.9.5/api/evennia.commands.default.comms.html index 16ff20af4f..bb6a7325cd 100644 --- a/docs/0.9.5/api/evennia.commands.default.comms.html +++ b/docs/0.9.5/api/evennia.commands.default.comms.html @@ -744,7 +744,7 @@ aliases to an already joined channel.

    -aliases = ['aliaschan', 'chanalias']
    +aliases = ['chanalias', 'aliaschan']
    @@ -775,7 +775,7 @@ aliases to an already joined channel.

    -search_index_entry = {'aliases': 'aliaschan chanalias', 'category': 'comms', 'key': 'addcom', 'tags': '', 'text': '\n Add a channel alias and/or subscribe to a channel\n\n Usage:\n addcom [alias=] <channel>\n\n Joins a given channel. If alias is given, this will allow you to\n refer to the channel by this alias rather than the full channel\n name. Subsequent calls of this command can be used to add multiple\n aliases to an already joined channel.\n '}
    +search_index_entry = {'aliases': 'chanalias aliaschan', 'category': 'comms', 'key': 'addcom', 'tags': '', 'text': '\n Add a channel alias and/or subscribe to a channel\n\n Usage:\n addcom [alias=] <channel>\n\n Joins a given channel. If alias is given, this will allow you to\n refer to the channel by this alias rather than the full channel\n name. Subsequent calls of this command can be used to add multiple\n aliases to an already joined channel.\n '}
    diff --git a/docs/0.9.5/api/evennia.commands.default.general.html b/docs/0.9.5/api/evennia.commands.default.general.html index 74a2559b38..14dba27242 100644 --- a/docs/0.9.5/api/evennia.commands.default.general.html +++ b/docs/0.9.5/api/evennia.commands.default.general.html @@ -205,7 +205,7 @@ for everyone to use, you need build privileges and the alias command.

    -aliases = ['nicks', 'nickname']
    +aliases = ['nickname', 'nicks']
    @@ -237,7 +237,7 @@ for everyone to use, you need build privileges and the alias command.

    -search_index_entry = {'aliases': 'nicks nickname', 'category': 'general', 'key': 'nick', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}
    +search_index_entry = {'aliases': 'nickname nicks', 'category': 'general', 'key': 'nick', 'tags': '', 'text': '\n define a personal alias/nick by defining a string to\n match and replace it with another on the fly\n\n Usage:\n nick[/switches] <string> [= [replacement_string]]\n nick[/switches] <template> = <replacement_template>\n nick/delete <string> or number\n nicks\n\n Switches:\n inputline - replace on the inputline (default)\n object - replace on object-lookup\n account - replace on account-lookup\n list - show all defined aliases (also "nicks" works)\n delete - remove nick by index in /list\n clearall - clear all nicks\n\n Examples:\n nick hi = say Hello, I\'m Sarah!\n nick/object tom = the tall man\n nick build $1 $2 = create/drop $1;$2\n nick tell $1 $2=page $1=$2\n nick tm?$1=page tallman=$1\n nick tm\\=$1=page tallman=$1\n\n A \'nick\' is a personal string replacement. Use $1, $2, ... to catch arguments.\n Put the last $-marker without an ending space to catch all remaining text. You\n can also use unix-glob matching for the left-hand side <string>:\n\n * - matches everything\n ? - matches 0 or 1 single characters\n [abcd] - matches these chars in any order\n [!abcd] - matches everything not among these chars\n \\= - escape literal \'=\' you want in your <string>\n\n Note that no objects are actually renamed or changed by this command - your nicks\n are only available to you. If you want to permanently add keywords to an object\n for everyone to use, you need build privileges and the alias command.\n\n '}
    @@ -535,7 +535,7 @@ placing it in their inventory.

    -aliases = ['"', "'"]
    +aliases = ["'", '"']
    @@ -561,7 +561,7 @@ placing it in their inventory.

    -search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', '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', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    @@ -700,7 +700,7 @@ which permission groups you are a member of.

    -aliases = ['hierarchy', 'groups']
    +aliases = ['groups', 'hierarchy']
    @@ -731,7 +731,7 @@ which permission groups you are a member of.

    -search_index_entry = {'aliases': 'hierarchy groups', 'category': 'general', 'key': 'access', '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': 'groups hierarchy', 'category': 'general', 'key': 'access', '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/0.9.5/api/evennia.commands.default.system.html b/docs/0.9.5/api/evennia.commands.default.system.html index 05fa909c23..d12eb18f2c 100644 --- a/docs/0.9.5/api/evennia.commands.default.system.html +++ b/docs/0.9.5/api/evennia.commands.default.system.html @@ -385,7 +385,7 @@ given, <nr> defaults to 10.

    -aliases = ['stats', 'listobjs', 'listobjects', 'db']
    +aliases = ['listobjects', 'db', 'listobjs', 'stats']
    @@ -411,7 +411,7 @@ given, <nr> defaults to 10.

    -search_index_entry = {'aliases': 'stats listobjs listobjects db', 'category': 'system', 'key': 'objects', 'tags': '', 'text': '\n statistics on objects in the database\n\n Usage:\n objects [<nr>]\n\n Gives statictics on objects in database as well as\n a list of <nr> latest objects in database. If not\n given, <nr> defaults to 10.\n '}
    +search_index_entry = {'aliases': 'listobjects db listobjs stats', 'category': 'system', 'key': 'objects', 'tags': '', 'text': '\n statistics on objects in the database\n\n Usage:\n objects [<nr>]\n\n Gives statictics on objects in database as well as\n a list of <nr> latest objects in database. If not\n given, <nr> defaults to 10.\n '}
    @@ -612,7 +612,7 @@ the released memory will instead be re-used by the program.

    -aliases = ['serverprocess', 'serverload']
    +aliases = ['serverload', 'serverprocess']
    @@ -643,7 +643,7 @@ the released memory will instead be re-used by the program.

    -search_index_entry = {'aliases': 'serverprocess serverload', 'category': 'system', 'key': 'server', 'tags': '', 'text': "\n show server load and memory statistics\n\n Usage:\n server[/mem]\n\n Switches:\n mem - return only a string of the current memory usage\n flushmem - flush the idmapper cache\n\n This command shows server load statistics and dynamic memory\n usage. It also allows to flush the cache of accessed database\n objects.\n\n Some Important statistics in the table:\n\n |wServer load|n is an average of processor usage. It's usually\n between 0 (no usage) and 1 (100% usage), but may also be\n temporarily higher if your computer has multiple CPU cores.\n\n The |wResident/Virtual memory|n displays the total memory used by\n the server process.\n\n Evennia |wcaches|n all retrieved database entities when they are\n loaded by use of the idmapper functionality. This allows Evennia\n to maintain the same instances of an entity and allowing\n non-persistent storage schemes. The total amount of cached objects\n are displayed plus a breakdown of database object types.\n\n The |wflushmem|n switch allows to flush the object cache. Please\n note that due to how Python's memory management works, releasing\n caches may not show you a lower Residual/Virtual memory footprint,\n the released memory will instead be re-used by the program.\n\n "}
    +search_index_entry = {'aliases': 'serverload serverprocess', 'category': 'system', 'key': 'server', 'tags': '', 'text': "\n show server load and memory statistics\n\n Usage:\n server[/mem]\n\n Switches:\n mem - return only a string of the current memory usage\n flushmem - flush the idmapper cache\n\n This command shows server load statistics and dynamic memory\n usage. It also allows to flush the cache of accessed database\n objects.\n\n Some Important statistics in the table:\n\n |wServer load|n is an average of processor usage. It's usually\n between 0 (no usage) and 1 (100% usage), but may also be\n temporarily higher if your computer has multiple CPU cores.\n\n The |wResident/Virtual memory|n displays the total memory used by\n the server process.\n\n Evennia |wcaches|n all retrieved database entities when they are\n loaded by use of the idmapper functionality. This allows Evennia\n to maintain the same instances of an entity and allowing\n non-persistent storage schemes. The total amount of cached objects\n are displayed plus a breakdown of database object types.\n\n The |wflushmem|n switch allows to flush the object cache. Please\n note that due to how Python's memory management works, releasing\n caches may not show you a lower Residual/Virtual memory footprint,\n the released memory will instead be re-used by the program.\n\n "}
    diff --git a/docs/0.9.5/api/evennia.commands.default.unloggedin.html b/docs/0.9.5/api/evennia.commands.default.unloggedin.html index 69a1ce7b5e..5a0a9eaa05 100644 --- a/docs/0.9.5/api/evennia.commands.default.unloggedin.html +++ b/docs/0.9.5/api/evennia.commands.default.unloggedin.html @@ -59,7 +59,7 @@ connect “account name” “pass word”

    -aliases = ['conn', 'co', 'con']
    +aliases = ['con', 'co', 'conn']
    @@ -94,7 +94,7 @@ there is no object yet before the account has logged in)

    -search_index_entry = {'aliases': 'conn co con', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
    +search_index_entry = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n connect to the game\n\n Usage (at login screen):\n connect accountname password\n connect "account name" "pass word"\n\n Use the create command to first create an account before logging in.\n\n If you have spaces in your name, enclose it in double quotes.\n '}
    @@ -223,7 +223,7 @@ All it does is display the connect screen.

    -aliases = ['l', 'look']
    +aliases = ['look', 'l']
    @@ -249,7 +249,7 @@ All it does is display the connect screen.

    -search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', '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': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', '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/0.9.5/api/evennia.comms.admin.html b/docs/0.9.5/api/evennia.comms.admin.html index 88265e0d67..eaa6bf187c 100644 --- a/docs/0.9.5/api/evennia.comms.admin.html +++ b/docs/0.9.5/api/evennia.comms.admin.html @@ -37,197 +37,8 @@
    -
    -

    evennia.comms.admin

    -

    This defines how Comm models are displayed in the web admin interface.

    -
    -
    -class evennia.comms.admin.ChannelAttributeInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.AttributeInline

    -

    Inline display of Channel Attribute - experimental

    -
    -
    -model
    -

    alias of evennia.comms.models.ChannelDB_db_attributes

    -
    - -
    -
    -related_field = 'channeldb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.comms.admin.ChannelTagInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.TagInline

    -

    Inline display of Channel Tags - experimental

    -
    -
    -model
    -

    alias of evennia.comms.models.ChannelDB_db_tags

    -
    - -
    -
    -related_field = 'channeldb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.comms.admin.MsgAdmin(model, admin_site)[source]
    -

    Bases: django.contrib.admin.options.ModelAdmin

    -

    Defines display for Msg objects

    -
    -
    -list_display = ('id', 'db_date_created', 'db_sender', 'db_receivers', 'db_channels', 'db_message', 'db_lock_storage')
    -
    - -
    - -
    - -
    -
    -ordering = ['db_date_created', 'db_sender', 'db_receivers', 'db_channels']
    -
    - -
    -
    -search_fields = ['id', '^db_date_created', '^db_message']
    -
    - -
    -
    -save_as = True
    -
    - -
    -
    -save_on_top = True
    -
    - -
    - -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.comms.admin.ChannelAdmin(model, admin_site)[source]
    -

    Bases: django.contrib.admin.options.ModelAdmin

    -

    Defines display for Channel objects

    -
    -
    -inlines = [<class 'evennia.comms.admin.ChannelTagInline'>, <class 'evennia.comms.admin.ChannelAttributeInline'>]
    -
    - -
    -
    -list_display = ('id', 'db_key', 'db_lock_storage', 'subscriptions')
    -
    - -
    - -
    - -
    -
    -ordering = ['db_key']
    -
    - -
    -
    -search_fields = ['id', 'db_key', 'db_tags__db_key']
    -
    - -
    -
    -save_as = True
    -
    - -
    -
    -save_on_top = True
    -
    - -
    - -
    - -
    -
    -raw_id_fields = ('db_object_subscriptions', 'db_account_subscriptions')
    -
    - -
    -
    -fieldsets = ((None, {'fields': (('db_key',), 'db_lock_storage', 'db_account_subscriptions', 'db_object_subscriptions')}),)
    -
    - -
    -
    -subscriptions(obj)[source]
    -

    Helper method to get subs from a channel.

    -
    -
    Parameters
    -

    obj (Channel) – The channel to get subs from.

    -
    -
    -
    - -
    -
    -save_model(request, obj, form, change)[source]
    -

    Model-save hook.

    -
    -
    Parameters
    -
      -
    • request (Request) – Incoming request.

    • -
    • obj (Object) – Database object.

    • -
    • form (Form) – Form instance.

    • -
    • change (bool) – If this is a change or a new object.

    • -
    -
    -
    -
    - -
    -
    -response_add(request, obj, post_url_continue=None)[source]
    -

    Determine the HttpResponse for the add_view stage.

    -
    - -
    -
    -property media
    -
    - -
    - +
    +

    evennia.comms.admin

    @@ -269,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.comms.comms.html b/docs/0.9.5/api/evennia.comms.comms.html index 4e223191e5..7fac4e14cf 100644 --- a/docs/0.9.5/api/evennia.comms.comms.html +++ b/docs/0.9.5/api/evennia.comms.comms.html @@ -648,11 +648,11 @@ this object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘channel-detail’ would be referenced by this method.

    -

    ex. -url(r’channels/(?P<slug>[wd-]+)/$’,

    -
    -

    ChannelDetailView.as_view(), name=’channel-detail’)

    -
    +

    ex.

    +
    url(r'channels/(?P<slug>[\w\d\-]+)/$',
    +    ChannelDetailView.as_view(), name='channel-detail')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -674,11 +674,11 @@ object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘channel-update’ would be referenced by this method.

    -

    ex. -url(r’channels/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/change/$’,

    -
    -

    ChannelUpdateView.as_view(), name=’channel-update’)

    -
    +

    ex.

    +
    url(r'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$',
    +    ChannelUpdateView.as_view(), name='channel-update')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -725,11 +725,11 @@ this object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘channel-detail’ would be referenced by this method.

    -

    ex. -url(r’channels/(?P<slug>[wd-]+)/$’,

    -
    -

    ChannelDetailView.as_view(), name=’channel-detail’)

    -
    +

    ex.

    +
    url(r'channels/(?P<slug>[\w\d\-]+)/$',
    +    ChannelDetailView.as_view(), name='channel-detail')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to diff --git a/docs/0.9.5/api/evennia.comms.models.html b/docs/0.9.5/api/evennia.comms.models.html index e47cccf772..4337ed1643 100644 --- a/docs/0.9.5/api/evennia.comms.models.html +++ b/docs/0.9.5/api/evennia.comms.models.html @@ -423,9 +423,8 @@ object the first time, the query is executed.

    class evennia.comms.models.TempMsg(senders=None, receivers=None, message='', header='', type='', lockstring='', hide_from=None)[source]

    Bases: object

    -

    This is a non-persistent object for sending temporary messages -that will not be stored. It mimics the “real” Msg object, but -doesn’t require sender to be given.

    +

    This is a non-persistent object for sending temporary messages that will not be stored. It +mimics the “real” Msg object, but doesn’t require sender to be given.

    __init__(senders=None, receivers=None, message='', header='', type='', lockstring='', hide_from=None)[source]
    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 5cca8eea9e..914fa4ef87 100644 --- a/docs/0.9.5/api/evennia.contrib.email_login.html +++ b/docs/0.9.5/api/evennia.contrib.email_login.html @@ -74,7 +74,7 @@ the module given by settings.CONNECTION_SCREEN_MODULE.

    -aliases = ['conn', 'co', 'con']
    +aliases = ['con', 'co', 'conn']
    @@ -104,7 +104,7 @@ there is no object yet before the account has logged in)

    -search_index_entry = {'aliases': 'conn co con', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}
    +search_index_entry = {'aliases': 'con co conn', 'category': 'general', 'key': 'connect', 'tags': '', 'text': '\n Connect to the game.\n\n Usage (at login screen):\n connect <email> <password>\n\n Use the create command to first create an account before logging in.\n '}
    @@ -226,7 +226,7 @@ All it does is display the connect screen.

    -aliases = ['l', 'look']
    +aliases = ['look', 'l']
    @@ -252,7 +252,7 @@ All it does is display the connect screen.

    -search_index_entry = {'aliases': 'l look', 'category': 'general', 'key': '__unloggedin_look_command', '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': 'look l', 'category': 'general', 'key': '__unloggedin_look_command', '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/0.9.5/api/evennia.contrib.ingame_python.commands.html b/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html index dc46de4eaa..87607b9d58 100644 --- a/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html +++ b/docs/0.9.5/api/evennia.contrib.ingame_python.commands.html @@ -52,7 +52,7 @@
    -aliases = ['@callback', '@calls', '@callbacks']
    +aliases = ['@calls', '@callback', '@callbacks']
    @@ -133,7 +133,7 @@ on user permission.

    -search_index_entry = {'aliases': '@callback @calls @callbacks', 'category': 'building', 'key': '@call', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
    +search_index_entry = {'aliases': '@calls @callback @callbacks', 'category': 'building', 'key': '@call', 'tags': '', 'text': '\n Command to edit callbacks.\n '}
    diff --git a/docs/0.9.5/api/evennia.contrib.rpsystem.html b/docs/0.9.5/api/evennia.contrib.rpsystem.html index e0c1ae4ce1..a29f5624b4 100644 --- a/docs/0.9.5/api/evennia.contrib.rpsystem.html +++ b/docs/0.9.5/api/evennia.contrib.rpsystem.html @@ -636,7 +636,7 @@ a different language.

    -aliases = ['"', "'"]
    +aliases = ["'", '"']
    @@ -662,7 +662,7 @@ a different language.

    -search_index_entry = {'aliases': '" \'', 'category': 'general', 'key': 'say', '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', 'tags': '', 'text': '\n speak as your character\n\n Usage:\n say <message>\n\n Talk to those in your current location.\n '}
    @@ -801,7 +801,7 @@ Using the command without arguments will list all current recogs.

    -aliases = ['recognize', 'forget']
    +aliases = ['forget', 'recognize']
    @@ -828,7 +828,7 @@ Using the command without arguments will list all current recogs.

    -search_index_entry = {'aliases': 'recognize forget', 'category': 'general', 'key': 'recog', 'tags': '', 'text': '\n Recognize another person in the same room.\n\n Usage:\n recog\n recog sdesc as alias\n forget alias\n\n Example:\n recog tall man as Griatch\n forget griatch\n\n This will assign a personal alias for a person, or forget said alias.\n Using the command without arguments will list all current recogs.\n\n '}
    +search_index_entry = {'aliases': 'forget recognize', 'category': 'general', 'key': 'recog', 'tags': '', 'text': '\n Recognize another person in the same room.\n\n Usage:\n recog\n recog sdesc as alias\n forget alias\n\n Example:\n recog tall man as Griatch\n forget griatch\n\n This will assign a personal alias for a person, or forget said alias.\n Using the command without arguments will list all current recogs.\n\n '}
    diff --git a/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html b/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html index ca02ed8838..aec932ccfe 100644 --- a/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html +++ b/docs/0.9.5/api/evennia.contrib.tutorial_examples.red_button.html @@ -79,7 +79,7 @@ such as when closing the lid and un-blinding a character.

    -aliases = ['press', 'press button', 'push']
    +aliases = ['press button', 'press', 'push']
    @@ -108,7 +108,7 @@ check if the lid is open or closed.

    -search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
    +search_index_entry = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button (lid closed)\n\n Usage:\n push button\n\n '}
    @@ -305,7 +305,7 @@ be mutually exclusive.

    -aliases = ['press', 'press button', 'push']
    +aliases = ['press button', 'press', 'push']
    @@ -334,7 +334,7 @@ set in self.parse())

    -search_index_entry = {'aliases': 'press press button push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
    +search_index_entry = {'aliases': 'press button press push', 'category': 'general', 'key': 'push button', 'tags': '', 'text': '\n Push the red button\n\n Usage:\n push button\n\n '}
    @@ -432,7 +432,7 @@ be mutually exclusive.

    -aliases = ['ex', 'examine', 'listen', 'get', 'feel', 'l']
    +aliases = ['feel', 'ex', 'examine', 'listen', 'get', 'l']
    @@ -458,7 +458,7 @@ be mutually exclusive.

    -search_index_entry = {'aliases': 'ex examine listen get feel l', 'category': 'general', 'key': 'look', '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': 'feel ex examine listen get l', 'category': 'general', 'key': 'look', '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/0.9.5/api/evennia.contrib.tutorial_world.objects.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.objects.html index e7106bb488..2375f5bda5 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 @@ -361,7 +361,7 @@ of the object. We overload it with our own version.

    -aliases = ['light', 'burn']
    +aliases = ['burn', 'light']
    @@ -388,7 +388,7 @@ to sit on a “lightable” object, we operate only on self.obj.

    -search_index_entry = {'aliases': 'light burn', 'category': 'tutorialworld', 'key': 'on', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}
    +search_index_entry = {'aliases': 'burn light', 'category': 'tutorialworld', 'key': 'on', 'tags': '', 'text': '\n Creates light where there was none. Something to burn.\n '}
    @@ -492,7 +492,7 @@ shift green root up/down

    -aliases = ['pull', 'move', 'shiftroot', 'push']
    +aliases = ['push', 'pull', 'move', 'shiftroot']
    @@ -528,7 +528,7 @@ yellow/green - horizontal roots

    -search_index_entry = {'aliases': 'pull move shiftroot push', 'category': 'tutorialworld', 'key': 'shift', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}
    +search_index_entry = {'aliases': 'push pull move shiftroot', 'category': 'tutorialworld', 'key': 'shift', 'tags': '', 'text': '\n Shifts roots around.\n\n Usage:\n shift blue root left/right\n shift red root left/right\n shift yellow root up/down\n shift green root up/down\n\n '}
    @@ -545,7 +545,7 @@ yellow/green - horizontal roots

    -aliases = ['button', 'press button', 'push button']
    +aliases = ['press button', 'button', 'push button']
    @@ -571,7 +571,7 @@ yellow/green - horizontal roots

    -search_index_entry = {'aliases': 'button press button push button', 'category': 'tutorialworld', 'key': 'press', 'tags': '', 'text': '\n Presses a button.\n '}
    +search_index_entry = {'aliases': 'press button button push button', 'category': 'tutorialworld', 'key': 'press', 'tags': '', 'text': '\n Presses a button.\n '}
    @@ -715,7 +715,7 @@ parry - forgoes your attack but will make you harder to hit on next

    -aliases = ['parry', 'pierce', 'defend', 'thrust', 'hit', 'fight', 'kill', 'bash', 'stab', 'slash', 'chop']
    +aliases = ['bash', 'parry', 'pierce', 'thrust', 'slash', 'hit', 'fight', 'defend', 'chop', 'kill', 'stab']
    @@ -741,7 +741,7 @@ parry - forgoes your attack but will make you harder to hit on next

    -search_index_entry = {'aliases': 'parry pierce defend thrust hit fight kill bash stab slash chop', 'category': 'tutorialworld', 'key': 'attack', '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': 'bash parry pierce thrust slash hit fight defend chop kill stab', 'category': 'tutorialworld', 'key': 'attack', '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/0.9.5/api/evennia.contrib.tutorial_world.rooms.html b/docs/0.9.5/api/evennia.contrib.tutorial_world.rooms.html index 23c02a028b..5e43b8cc0a 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 @@ -865,7 +865,7 @@ to find something.

    -aliases = ['feel', 'feel around', 'search', 'fiddle', 'l']
    +aliases = ['fiddle', 'search', 'feel around', 'feel', 'l']
    @@ -893,7 +893,7 @@ random chance of eventually finding a light source.

    -search_index_entry = {'aliases': 'feel feel around search fiddle l', 'category': 'tutorialworld', 'key': 'look', '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 search feel around feel l', 'category': 'tutorialworld', 'key': 'look', '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/0.9.5/api/evennia.help.admin.html b/docs/0.9.5/api/evennia.help.admin.html index f0469f3c78..20ed6b9b9b 100644 --- a/docs/0.9.5/api/evennia.help.admin.html +++ b/docs/0.9.5/api/evennia.help.admin.html @@ -37,134 +37,8 @@
    -
    -

    evennia.help.admin

    -

    This defines how to edit help entries in Admin.

    -
    -
    -class evennia.help.admin.HelpTagInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.TagInline

    -
    -
    -model
    -

    alias of evennia.help.models.HelpEntry_db_tags

    -
    - -
    -
    -related_field = 'helpentry'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.help.admin.HelpEntryForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
    -

    Bases: django.forms.models.ModelForm

    -

    Defines how to display the help entry

    -
    -
    -class Meta[source]
    -

    Bases: object

    -
    -
    -model
    -

    alias of evennia.help.models.HelpEntry

    -
    - -
    -
    -fields = '__all__'
    -
    - -
    - -
    -
    -base_fields = {'db_entrytext': <django.forms.fields.CharField object>, 'db_help_category': <django.forms.fields.CharField object>, 'db_key': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_staff_only': <django.forms.fields.BooleanField object>, 'db_tags': <django.forms.models.ModelMultipleChoiceField object>}
    -
    - -
    -
    -declared_fields = {'db_help_category': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>}
    -
    - -
    -
    -property media
    -

    Return all media required to render the widgets on this form.

    -
    - -
    - -
    -
    -class evennia.help.admin.HelpEntryAdmin(model, admin_site)[source]
    -

    Bases: django.contrib.admin.options.ModelAdmin

    -

    Sets up the admin manaager for help entries

    -
    -
    -inlines = [<class 'evennia.help.admin.HelpTagInline'>]
    -
    - -
    -
    -list_display = ('id', 'db_key', 'db_help_category', 'db_lock_storage')
    -
    - -
    - -
    - -
    -
    -search_fields = ['^db_key', 'db_entrytext']
    -
    - -
    -
    -ordering = ['db_help_category', 'db_key']
    -
    - -
    -
    -save_as = True
    -
    - -
    -
    -save_on_top = True
    -
    - -
    - -
    - -
    -
    -form
    -

    alias of HelpEntryForm

    -
    - -
    -
    -fieldsets = ((None, {'fields': (('db_key', 'db_help_category'), 'db_entrytext', 'db_lock_storage'), 'description': 'Sets a Help entry. Set lock to <i>view:all()</I> unless you want to restrict it.'}),)
    -
    - -
    -
    -property media
    -
    - -
    - +
    +

    evennia.help.admin

    @@ -206,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.help.models.html b/docs/0.9.5/api/evennia.help.models.html index 9de1f514c8..d085391e53 100644 --- a/docs/0.9.5/api/evennia.help.models.html +++ b/docs/0.9.5/api/evennia.help.models.html @@ -105,8 +105,8 @@ class built by **create_forward_many_to_many_manager()** define
    -
    -db_staff_only
    +
    +db_date_created

    A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

    @@ -167,8 +167,10 @@ instances of this object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-create’ would be referenced by this method.

    -

    ex. -url(r’characters/create/’, ChargenView.as_view(), name=’character-create’)

    +

    ex.

    +
    url(r'characters/create/', ChargenView.as_view(), name='character-create')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -190,11 +192,11 @@ this object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-detail’ would be referenced by this method.

    -

    ex. -url(r’characters/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/$’,

    -
    -

    CharDetailView.as_view(), name=’character-detail’)

    -
    +

    ex.

    +
    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$',
    +    CharDetailView.as_view(), name='character-detail')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -216,11 +218,11 @@ object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-update’ would be referenced by this method.

    -

    ex. -url(r’characters/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/change/$’,

    -
    -

    CharUpdateView.as_view(), name=’character-update’)

    -
    +

    ex.

    +
    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$',
    +    CharUpdateView.as_view(), name='character-update')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -241,11 +243,11 @@ responsibility.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-detail’ would be referenced by this method.

    -

    ex. -url(r’characters/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/delete/$’,

    -
    -

    CharDeleteView.as_view(), name=’character-delete’)

    -
    +

    ex.

    +
    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$',
    +    CharDeleteView.as_view(), name='character-delete')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -267,11 +269,11 @@ this object.

    For this to work, the developer must have defined a named view somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-detail’ would be referenced by this method.

    -

    ex. -url(r’characters/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/$’,

    -
    -

    CharDetailView.as_view(), name=’character-detail’)

    -
    +

    ex.

    +
    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$',
    +    CharDetailView.as_view(), name='character-detail')
    +
    +

    If no View has been created and defined in urls.py, returns an HTML anchor.

    This method is naive and simply returns a path. Securing access to @@ -296,12 +298,28 @@ responsibility.

    Bases: django.core.exceptions.MultipleObjectsReturned

    +
    +
    +property date_created
    +

    A wrapper for getting database field db_date_created.

    +
    +
    property entrytext

    A wrapper for getting database field db_entrytext.

    +
    +
    +get_next_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=True, **kwargs)
    +
    + +
    +
    +get_previous_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=False, **kwargs)
    +
    +
    property help_category
    @@ -332,12 +350,6 @@ object the first time, the query is executed.

    path = 'evennia.help.models.HelpEntry'
    -
    -
    -property staff_only
    -

    A wrapper for getting database field db_staff_only.

    -
    -
    typename = 'SharedMemoryModelBase'
    diff --git a/docs/0.9.5/api/evennia.html b/docs/0.9.5/api/evennia.html index 76a135793f..7c1e18b444 100644 --- a/docs/0.9.5/api/evennia.html +++ b/docs/0.9.5/api/evennia.html @@ -264,10 +264,7 @@ with ‘q’, remove the break line and restart server when finished.

  • evennia.locks
  • diff --git a/docs/0.9.5/api/evennia.locks.html b/docs/0.9.5/api/evennia.locks.html index 42f878ed4f..2f69d0913c 100644 --- a/docs/0.9.5/api/evennia.locks.html +++ b/docs/0.9.5/api/evennia.locks.html @@ -44,10 +44,7 @@ lock strings are processed through the lockhandler in this package. It also contains the default lock functions used in lock definitions.

    diff --git a/docs/0.9.5/api/evennia.locks.lockfuncs.html b/docs/0.9.5/api/evennia.locks.lockfuncs.html index cc1940667e..0cce1ff588 100644 --- a/docs/0.9.5/api/evennia.locks.lockfuncs.html +++ b/docs/0.9.5/api/evennia.locks.lockfuncs.html @@ -48,106 +48,6 @@ Run the access() method of the handler to execute the lock chec

    Note that accessing_obj and accessed_obj can be any object type with a lock variable/field, so be careful to not expect a certain object type.

    -

    Appendix: MUX locks

    -

    Below is a list nicked from the MUX help file on the locks available -in standard MUX. Most of these are not relevant to core Evennia since -locks in Evennia are considerably more flexible and can be implemented -on an individual command/typeclass basis rather than as globally -available like the MUX ones. So many of these are not available in -basic Evennia, but could all be implemented easily if needed for the -individual game.

    -
    -

    MUX Name: Affects: Effect:

    -
    -
    DefaultLock: Exits: controls who may traverse the exit to
    -
    -
    -
    its destination.

    Evennia: “traverse:<lockfunc()>”

    -
    -
    -
    -
    -
    Rooms: controls whether the account sees the

    SUCC or FAIL message for the room -following the room description when -looking at the room.

    -
    -

    Evennia: Custom typeclass

    -
    -
    -
    Accounts/Things: controls who may GET the object.

    Evennia: “get:<lockfunc()”

    -
    -
    -
    -
    -
    EnterLock: Accounts/Things: controls who may ENTER the object

    Evennia:

    -
    -
    GetFromLock: All but Exits: controls who may gets things from a
    -
    given location.

    Evennia:

    -
    -
    -
    -
    GiveLock: Accounts/Things: controls who may give the object.

    Evennia:

    -
    -
    LeaveLock: Accounts/Things: controls who may LEAVE the object.

    Evennia:

    -
    -
    LinkLock: All but Exits: controls who may link to the location

    if the location is LINK_OK (for linking -exits or setting drop-tos) or ABODE (for -setting homes)

    -
    -

    Evennia:

    -
    -
    -
    MailLock: Accounts: controls who may @mail the account.

    Evennia:

    -
    -
    OpenLock: All but Exits: controls who may open an exit.

    Evennia:

    -
    -
    PageLock: Accounts: controls who may page the account.

    Evennia: “send:<lockfunc()>”

    -
    -
    ParentLock: All: controls who may make @parent links to
    -
    the object.

    Evennia: Typeclasses and

    -
    -
    -

    “puppet:<lockstring()>”

    -
    -
    ReceiveLock: Accounts/Things: controls who may give things to the
    -
    object.

    Evennia:

    -
    -
    -
    -
    SpeechLock: All but Exits: controls who may speak in that location

    Evennia:

    -
    -
    TeloutLock: All but Exits: controls who may teleport out of the
    -
    location.

    Evennia:

    -
    -
    -
    -
    TportLock: Rooms/Things: controls who may teleport there

    Evennia:

    -
    -
    UseLock: All but Exits: controls who may USE the object, GIVE

    the object money and have the PAY -attributes run, have their messages -heard and possibly acted on by LISTEN -and AxHEAR, and invoke $-commands -stored on the object.

    -
    -

    Evennia: Commands and Cmdsets.

    -
    -
    -
    DropLock: All but rooms: controls who may drop that object.

    Evennia:

    -
    -
    VisibleLock: All: Controls object visibility when the

    object is not dark and the looker -passes the lock. In DARK locations, the -object must also be set LIGHT and the -viewer must pass the VisibleLock.

    -
    -
    -
    Evennia: Room typeclass with

    Dark/light script

    -
    -
    -
    -
    -
    -
    -
    evennia.locks.lockfuncs.true(*args, **kwargs)[source]
    @@ -170,6 +70,11 @@ viewer must pass the VisibleLock.

    evennia.locks.lockfuncs.none(*args, **kwargs)[source]
    +
    +
    +evennia.locks.lockfuncs.superuser(*args, **kwargs)[source]
    +
    +
    evennia.locks.lockfuncs.self(accessing_obj, accessed_obj, *args, **kwargs)[source]
    @@ -461,15 +366,6 @@ accessed_obj.location == accessing_obj), or if accessing_obj itself holds an object matching the given key.

    -
    -
    -evennia.locks.lockfuncs.superuser(*args, **kwargs)[source]
    -

    Only accepts an accesing_obj that is superuser (e.g. user #1)

    -

    Since a superuser would not ever reach this check (superusers -bypass the lock entirely), any user who gets this far cannot be a -superuser, hence we just return False. :)

    -
    -
    evennia.locks.lockfuncs.has_account(accessing_obj, accessed_obj, *args, **kwargs)[source]
    @@ -494,7 +390,6 @@ everything will enter this function as strings, so they have to be unpacked to their real value. We only support basic properties.

    -
    @@ -517,14 +412,6 @@ unpacked to their real value. We only support basic properties.

    -

    Table of Contents

    - -
      diff --git a/docs/0.9.5/api/evennia.objects.admin.html b/docs/0.9.5/api/evennia.objects.admin.html index 3828163d04..e60b438fba 100644 --- a/docs/0.9.5/api/evennia.objects.admin.html +++ b/docs/0.9.5/api/evennia.objects.admin.html @@ -37,267 +37,8 @@
      -
      -

      evennia.objects.admin

      -
      -
      -class evennia.objects.admin.ObjectAttributeInline(parent_model, admin_site)[source]
      -

      Bases: evennia.typeclasses.admin.AttributeInline

      -

      Defines inline descriptions of Attributes (experimental)

      -
      -
      -model
      -

      alias of evennia.objects.models.ObjectDB_db_attributes

      -
      - -
      -
      -related_field = 'objectdb'
      -
      - -
      -
      -property media
      -
      - -
      - -
      -
      -class evennia.objects.admin.ObjectTagInline(parent_model, admin_site)[source]
      -

      Bases: evennia.typeclasses.admin.TagInline

      -

      Defines inline descriptions of Tags (experimental)

      -
      -
      -model
      -

      alias of evennia.objects.models.ObjectDB_db_tags

      -
      - -
      -
      -related_field = 'objectdb'
      -
      - -
      -
      -property media
      -
      - -
      - -
      -
      -class evennia.objects.admin.ObjectCreateForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
      -

      Bases: django.forms.models.ModelForm

      -

      This form details the look of the fields.

      -
      -
      -class Meta[source]
      -

      Bases: object

      -
      -
      -model
      -

      alias of evennia.objects.models.ObjectDB

      -
      - -
      -
      -fields = '__all__'
      -
      - -
      - -
      -
      -raw_id_fields = ('db_destination', 'db_location', 'db_home')
      -
      - -
      -
      -base_fields = {'db_account': <django.forms.models.ModelChoiceField object>, 'db_attributes': <django.forms.models.ModelMultipleChoiceField object>, 'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_destination': <django.forms.models.ModelChoiceField object>, 'db_home': <django.forms.models.ModelChoiceField object>, 'db_key': <django.forms.fields.CharField object>, 'db_location': <django.forms.models.ModelChoiceField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_sessid': <django.forms.fields.CharField object>, 'db_tags': <django.forms.models.ModelMultipleChoiceField object>, 'db_typeclass_path': <django.forms.fields.CharField object>}
      -
      - -
      -
      -declared_fields = {'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_key': <django.forms.fields.CharField object>, 'db_typeclass_path': <django.forms.fields.CharField object>}
      -
      - -
      -
      -property media
      -

      Return all media required to render the widgets on this form.

      -
      - -
      - -
      -
      -class evennia.objects.admin.ObjectEditForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]
      -

      Bases: evennia.objects.admin.ObjectCreateForm

      -

      Form used for editing. Extends the create one with more fields

      -
      -
      -class Meta[source]
      -

      Bases: object

      -
      -
      -fields = '__all__'
      -
      - -
      - -
      -
      -base_fields = {'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_key': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_typeclass_path': <django.forms.fields.CharField object>}
      -
      - -
      -
      -declared_fields = {'db_cmdset_storage': <django.forms.fields.CharField object>, 'db_key': <django.forms.fields.CharField object>, 'db_lock_storage': <django.forms.fields.CharField object>, 'db_typeclass_path': <django.forms.fields.CharField object>}
      -
      - -
      -
      -property media
      -

      Return all media required to render the widgets on this form.

      -
      - -
      - -
      -
      -class evennia.objects.admin.ObjectDBAdmin(model, admin_site)[source]
      -

      Bases: django.contrib.admin.options.ModelAdmin

      -

      Describes the admin page for Objects.

      -
      -
      -inlines = [<class 'evennia.objects.admin.ObjectTagInline'>, <class 'evennia.objects.admin.ObjectAttributeInline'>]
      -
      - -
      -
      -list_display = ('id', 'db_key', 'db_account', 'db_typeclass_path')
      -
      - -
      - -
      - -
      -
      -ordering = ['db_account', 'db_typeclass_path', 'id']
      -
      - -
      -
      -search_fields = ['=id', '^db_key', 'db_typeclass_path', '^db_account__db_key']
      -
      - -
      -
      -raw_id_fields = ('db_destination', 'db_location', 'db_home')
      -
      - -
      -
      -save_as = True
      -
      - -
      -
      -save_on_top = True
      -
      - -
      - -
      - -
      -
      -list_filter = ('db_typeclass_path',)
      -
      - -
      -
      -form
      -

      alias of ObjectEditForm

      -
      - -
      -
      -fieldsets = ((None, {'fields': (('db_key', 'db_typeclass_path'), ('db_lock_storage',), ('db_location', 'db_home'), 'db_destination', 'db_cmdset_storage')}),)
      -
      - -
      -
      -add_form
      -

      alias of ObjectCreateForm

      -
      - -
      -
      -add_fieldsets = ((None, {'fields': (('db_key', 'db_typeclass_path'), ('db_location', 'db_home'), 'db_destination', 'db_cmdset_storage')}),)
      -
      - -
      -
      -get_fieldsets(request, obj=None)[source]
      -

      Return fieldsets.

      -
      -
      Parameters
      -
        -
      • request (Request) – Incoming request.

      • -
      • obj (ObjectDB, optional) – Database object.

      • -
      -
      -
      -
      - -
      -
      -get_form(request, obj=None, **kwargs)[source]
      -

      Use special form during creation.

      -
      -
      Parameters
      -
        -
      • request (Request) – Incoming request.

      • -
      • obj (Object, optional) – Database object.

      • -
      -
      -
      -
      - -
      -
      -save_model(request, obj, form, change)[source]
      -

      Model-save hook.

      -
      -
      Parameters
      -
        -
      • request (Request) – Incoming request.

      • -
      • obj (Object) – Database object.

      • -
      • form (Form) – Form instance.

      • -
      • change (bool) – If this is a change or a new object.

      • -
      -
      -
      -
      - -
      -
      -response_add(request, obj, post_url_continue=None)[source]
      -

      Determine the HttpResponse for the add_view stage.

      -
      - -
      -
      -property media
      -
      - -
      - +
      +

      evennia.objects.admin

      @@ -339,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.objects.objects.html b/docs/0.9.5/api/evennia.objects.objects.html index cfe270ef86..d73bbec6cf 100644 --- a/docs/0.9.5/api/evennia.objects.objects.html +++ b/docs/0.9.5/api/evennia.objects.objects.html @@ -48,8 +48,7 @@ entities.

    class evennia.objects.objects.ObjectSessionHandler(obj)[source]

    Bases: object

    -

    Handles the get/setting of the sessid -comma-separated integer field

    +

    Handles the get/setting of the sessid comma-separated integer field

    __init__(obj)[source]
    @@ -724,8 +723,8 @@ specified, the copy will be named <old_key>_copy by default.

    at_object_post_copy(new_obj, **kwargs)[source]
    -

    Called by DefaultObject.copy(). Meant to be overloaded. In case there’s extra data not covered by -.copy(), this can be used to deal with it.

    +

    Called by DefaultObject.copy(). Meant to be overloaded. In case there’s extra data not +covered by .copy(), this can be used to deal with it.

    Parameters

    new_obj (Object) – The new Copy of this object.

    @@ -1407,7 +1406,8 @@ text from the object. Returning None aborts the command.

    a say. This is sent by the whisper command by default. Other verbal commands could use this hook in similar ways.

    -
  • receivers (Object or iterable) – If set, this is the target or targets for the say/whisper.

  • +
  • receivers (Object or iterable) – If set, this is the target or targets for the +say/whisper.

  • Returns
    @@ -1432,8 +1432,8 @@ re-writing it completely.

  • msg_self (bool or str, optional) – If boolean True, echo message to self. If a string, return that message. If False or unset, don’t echo to self.

  • msg_location (str, optional) – The message to echo to self’s location.

  • -
  • receivers (Object or iterable, optional) – An eventual receiver or receivers of the message -(by default only used by whispers).

  • +
  • receivers (Object or iterable, optional) – An eventual receiver or receivers of the +message (by default only used by whispers).

  • msg_receivers (str) – Specific message to pass to the receiver(s). This will parsed with the {receiver} placeholder replaced with the given receiver.

  • @@ -1538,9 +1538,10 @@ errors (list): A list of errors in string form, if any.

    classmethod normalize_name(name)[source]
    -

    Normalize the character name prior to creating. Note that this should be refactored -to support i18n for non-latin scripts, but as we (currently) have no bug reports requesting better -support of non-latin character sets, requiring character names to be latinified is an acceptable option.

    +

    Normalize the character name prior to creating. Note that this should be refactored to +support i18n for non-latin scripts, but as we (currently) have no bug reports requesting +better support of non-latin character sets, requiring character names to be latinified is an +acceptable option.

    Parameters

    name (str) – The name of the character

    @@ -1769,7 +1770,8 @@ overriding the call (unused by default).

    Returns
    -

    A string with identifying information to disambiguate the command, conventionally with a preceding space.

    +

    A string with identifying information to disambiguate the command, conventionally with a +preceding space.

    diff --git a/docs/0.9.5/api/evennia.prototypes.spawner.html b/docs/0.9.5/api/evennia.prototypes.spawner.html index 66ac2c6708..012965e697 100644 --- a/docs/0.9.5/api/evennia.prototypes.spawner.html +++ b/docs/0.9.5/api/evennia.prototypes.spawner.html @@ -80,7 +80,7 @@ prototype_locks (str, optional): locks for restricting access to this prototype.
    prototype_tags(list, optional): List of tags or tuples (tag, category) used to group prototype

    in listings

    -
    prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent prototype, or

    a list of parents, for multiple left-to-right inheritance.

    +
    prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent

    prototype, or a list of parents, for multiple left-to-right inheritance.

    prototype: Deprecated. Same meaning as ‘parent’.

    @@ -224,8 +224,8 @@ attr/tag (for example) are represented by a tuple.

    This is most useful for displaying.

  • implicit_keep (bool, optional) – If set, the resulting diff will assume KEEP unless the new prototype explicitly change them. That is, if a key exists in prototype1 and -not in prototype2, it will not be REMOVEd but set to KEEP instead. This is particularly -useful for auto-generated prototypes when updating objects.

  • +not in prototype2, it will not be REMOVEd but set to KEEP instead. This is +particularly useful for auto-generated prototypes when updating objects.

    Returns
    diff --git a/docs/0.9.5/api/evennia.scripts.admin.html b/docs/0.9.5/api/evennia.scripts.admin.html index 052589f324..b0e711d415 100644 --- a/docs/0.9.5/api/evennia.scripts.admin.html +++ b/docs/0.9.5/api/evennia.scripts.admin.html @@ -37,132 +37,8 @@
    -
    -

    evennia.scripts.admin

    -
    -
    -class evennia.scripts.admin.ScriptTagInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.TagInline

    -

    Inline script tags.

    -
    -
    -model
    -

    alias of evennia.scripts.models.ScriptDB_db_tags

    -
    - -
    -
    -related_field = 'scriptdb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.scripts.admin.ScriptAttributeInline(parent_model, admin_site)[source]
    -

    Bases: evennia.typeclasses.admin.AttributeInline

    -

    Inline attribute tags.

    -
    -
    -model
    -

    alias of evennia.scripts.models.ScriptDB_db_attributes

    -
    - -
    -
    -related_field = 'scriptdb'
    -
    - -
    -
    -property media
    -
    - -
    - -
    -
    -class evennia.scripts.admin.ScriptDBAdmin(model, admin_site)[source]
    -

    Bases: django.contrib.admin.options.ModelAdmin

    -

    Displaying the main Script page.

    -
    -
    -list_display = ('id', 'db_key', 'db_typeclass_path', 'db_obj', 'db_interval', 'db_repeats', 'db_persistent')
    -
    - -
    - -
    - -
    -
    -ordering = ['db_obj', 'db_typeclass_path']
    -
    - -
    -
    -search_fields = ['^db_key', 'db_typeclass_path']
    -
    - -
    -
    -save_as = True
    -
    - -
    -
    -save_on_top = True
    -
    - -
    - -
    - -
    -
    -raw_id_fields = ('db_obj',)
    -
    - -
    -
    -fieldsets = ((None, {'fields': (('db_key', 'db_typeclass_path'), 'db_interval', 'db_repeats', 'db_start_delay', 'db_persistent', 'db_obj')}),)
    -
    - -
    -
    -inlines = [<class 'evennia.scripts.admin.ScriptTagInline'>, <class 'evennia.scripts.admin.ScriptAttributeInline'>]
    -
    - -
    -
    -save_model(request, obj, form, change)[source]
    -

    Model-save hook.

    -
    -
    Parameters
    -
      -
    • request (Request) – Incoming request.

    • -
    • obj (Object) – Database object.

    • -
    • form (Form) – Form instance.

    • -
    • change (bool) – If this is a change or a new object.

    • -
    -
    -
    -
    - -
    -
    -property media
    -
    - -
    - +
    +

    evennia.scripts.admin

    @@ -204,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.scripts.taskhandler.html b/docs/0.9.5/api/evennia.scripts.taskhandler.html index dba466137e..94ea9a847a 100644 --- a/docs/0.9.5/api/evennia.scripts.taskhandler.html +++ b/docs/0.9.5/api/evennia.scripts.taskhandler.html @@ -139,7 +139,7 @@ called(self): A task attribute to check if the deferred instance of a task has b
    pause()[source]

    Pause the callback of a task. -To resume use TaskHandlerTask.unpause

    +To resume use TaskHandlerTask.unpause.

    @@ -440,8 +440,7 @@ Deletes the instance of the task’s deferred.

    clear(save=True, cancel=True)[source]
    -

    clear all tasks. -By default tasks are canceled and removed from the database also.

    +

    Clear all tasks. By default tasks are canceled and removed from the database as well.

    Parameters
      diff --git a/docs/0.9.5/api/evennia.server.admin.html b/docs/0.9.5/api/evennia.server.admin.html index 2a3370486d..ed756a117d 100644 --- a/docs/0.9.5/api/evennia.server.admin.html +++ b/docs/0.9.5/api/evennia.server.admin.html @@ -37,55 +37,8 @@
      -
      -

      evennia.server.admin

      -
      -
      -class evennia.server.admin.ServerConfigAdmin(model, admin_site)[source]
      -

      Bases: django.contrib.admin.options.ModelAdmin

      -

      Custom admin for server configs

      -
      -
      -list_display = ('db_key', 'db_value')
      -
      - -
      - -
      - -
      -
      -ordering = ['db_key', 'db_value']
      -
      - -
      -
      -search_fields = ['db_key']
      -
      - -
      -
      -save_as = True
      -
      - -
      -
      -save_on_top = True
      -
      - -
      - -
      - -
      -
      -property media
      -
      - -
      - +
      +

      evennia.server.admin

      @@ -127,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.server.portal.amp.html b/docs/0.9.5/api/evennia.server.portal.amp.html index f53cf7daa3..f23d0df9af 100644 --- a/docs/0.9.5/api/evennia.server.portal.amp.html +++ b/docs/0.9.5/api/evennia.server.portal.amp.html @@ -436,13 +436,13 @@ that way.

    -errback(e, info)[source]
    +errback(err, info)[source]

    Error callback. Handles errors to avoid dropping connections on server tracebacks.

    Parameters
      -
    • e (Failure) – Deferred error instance.

    • +
    • err (Failure) – Deferred error instance.

    • info (str) – Error string.

    diff --git a/docs/0.9.5/api/evennia.server.portal.portalsessionhandler.html b/docs/0.9.5/api/evennia.server.portal.portalsessionhandler.html index a1bbc40af7..179b115ec1 100644 --- a/docs/0.9.5/api/evennia.server.portal.portalsessionhandler.html +++ b/docs/0.9.5/api/evennia.server.portal.portalsessionhandler.html @@ -39,7 +39,7 @@

    evennia.server.portal.portalsessionhandler

    -

    Sessionhandler for portal sessions

    +

    Sessionhandler for portal sessions.

    class evennia.server.portal.portalsessionhandler.PortalSessionHandler(*args, **kwargs)[source]
    diff --git a/docs/0.9.5/api/evennia.server.portal.telnet.html b/docs/0.9.5/api/evennia.server.portal.telnet.html index 779212edeb..6dcb267fc2 100644 --- a/docs/0.9.5/api/evennia.server.portal.telnet.html +++ b/docs/0.9.5/api/evennia.server.portal.telnet.html @@ -47,7 +47,7 @@ sessions etc.

    class evennia.server.portal.telnet.TelnetServerFactory[source]

    Bases: twisted.internet.protocol.ServerFactory

    -

    This is only to name this better in logs

    +

    This exists only to name this better in logs.

    noisy = False
    @@ -93,7 +93,7 @@ of incoming data.

    Allow to toggle the NOP keepalive for those sad clients that can’t even handle a NOP instruction. This is turned off by the protocol_flag NOPKEEPALIVE (settable e.g. by the default -@option command).

    +option command).

    @@ -201,7 +201,7 @@ directly.

    disconnect(reason='')[source]
    -

    generic hook for the engine to call in order to +

    Generic hook for the engine to call in order to disconnect this protocol.

    Parameters
    diff --git a/docs/0.9.5/api/evennia.server.portal.webclient_ajax.html b/docs/0.9.5/api/evennia.server.portal.webclient_ajax.html index 4dbce55bc9..bd3f9c95db 100644 --- a/docs/0.9.5/api/evennia.server.portal.webclient_ajax.html +++ b/docs/0.9.5/api/evennia.server.portal.webclient_ajax.html @@ -171,6 +171,11 @@ mode operation (at startup)

    mode_keepalive(request)[source]

    This is called by render_POST when the client is replying to the keepalive.

    +
    +
    Parameters
    +

    request (Request) – Incoming request.

    +
    +
    diff --git a/docs/0.9.5/api/evennia.server.server.html b/docs/0.9.5/api/evennia.server.server.html index 2fa94df17f..edf1aa6f52 100644 --- a/docs/0.9.5/api/evennia.server.server.html +++ b/docs/0.9.5/api/evennia.server.server.html @@ -150,7 +150,7 @@ of it is fore a reload, reset or shutdown.

    after reconnecting.

    Parameters
    -

    mode (str) – One of reload, reset or shutdown.

    +

    mode (str) – One of ‘reload’, ‘reset’ or ‘shutdown’.

    diff --git a/docs/0.9.5/api/evennia.server.sessionhandler.html b/docs/0.9.5/api/evennia.server.sessionhandler.html index 7752510039..85a61453a0 100644 --- a/docs/0.9.5/api/evennia.server.sessionhandler.html +++ b/docs/0.9.5/api/evennia.server.sessionhandler.html @@ -120,8 +120,7 @@ FuncParser using callables from settings.FUNCPARSER_OUTGOING_MESSAGES_MO
    Parameters
    • session (Session) – The relevant session instance.

    • -
    • kwargs (dict) – of the instruction (like “text”). Suitable values for each -keyword are: +

    • kwargs (dict) – the name of the instruction (like “text”). Suitable values for each keyword are: - arg -> [[arg], {}] - [args] -> [[args], {}] - {kwargs} -> [[], {kwargs}] @@ -144,13 +143,10 @@ applied.

      class evennia.server.sessionhandler.ServerSessionHandler(*args, **kwargs)[source]

      Bases: evennia.server.sessionhandler.SessionHandler

      -

      This object holds the stack of sessions active in the game at -any time.

      -

      A session register with the handler in two steps, first by -registering itself with the connect() method. This indicates an -non-authenticated session. Whenever the session is authenticated -the session together with the related account is sent to the login() -method.

      +

      This object holds the stack of sessions active in the game at any time.

      +

      A session register with the handler in two steps, first by registering itself with the connect() +method. This indicates an non-authenticated session. Whenever the session is authenticated the +session together with the related account is sent to the login() method.

      __init__(*args, **kwargs)[source]
      @@ -270,9 +266,8 @@ itself down)

      login(session, account, force=False, testmode=False)[source]
      -

      Log in the previously unloggedin session and the account we by -now should know is connected to it. After this point we assume -the session to be logged in one way or another.

      +

      Log in the previously unloggedin session and the account we by now should know is connected +to it. After this point we assume the session to be logged in one way or another.

      Parameters
        @@ -454,7 +449,7 @@ object.

      Returns.
      -
      sessions (Session or list): Can be more than one of Object is controlled by

      more than one Session (MULTISESSION_MODE > 1).

      +
      sessions (Session or list): Can be more than one of Object is controlled by more than

      one Session (MULTISESSION_MODE > 1).

      @@ -472,7 +467,7 @@ object.

      Returns.
      -
      sessions (Session or list): Can be more than one of Object is controlled by

      more than one Session (MULTISESSION_MODE > 1).

      +
      sessions (Session or list): Can be more than one of Object is controlled by more than

      one Session (MULTISESSION_MODE > 1).

      diff --git a/docs/0.9.5/api/evennia.typeclasses.admin.html b/docs/0.9.5/api/evennia.typeclasses.admin.html index 31d25e8a13..08fc34de9b 100644 --- a/docs/0.9.5/api/evennia.typeclasses.admin.html +++ b/docs/0.9.5/api/evennia.typeclasses.admin.html @@ -37,299 +37,8 @@
      -
      -

      evennia.typeclasses.admin

      -
      -
      -class evennia.typeclasses.admin.TagAdmin(model, admin_site)[source]
      -

      Bases: django.contrib.admin.options.ModelAdmin

      -

      A django Admin wrapper for Tags.

      -
      -
      -search_fields = ('db_key', 'db_category', 'db_tagtype')
      -
      - -
      -
      -list_display = ('db_key', 'db_category', 'db_tagtype', 'db_data')
      -
      - -
      -
      -fields = ('db_key', 'db_category', 'db_tagtype', 'db_data')
      -
      - -
      -
      -list_filter = ('db_tagtype',)
      -
      - -
      -
      -property media
      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.TagForm(*args, **kwargs)[source]
      -

      Bases: django.forms.models.ModelForm

      -

      This form overrides the base behavior of the ModelForm that would be used for a -Tag-through-model. Since the through-models only have access to the foreignkeys of the Tag and -the Object that they’re attached to, we need to spoof the behavior of it being a form that would -correspond to its tag, or the creation of a tag. Instead of being saved, we’ll call to the -Object’s handler, which will handle the creation, change, or deletion of a tag for us, as well -as updating the handler’s cache so that all changes are instantly updated in-game.

      -
      -
      -class Meta[source]
      -

      Bases: object

      -
      -
      -fields = ('tag_key', 'tag_category', 'tag_data', 'tag_type')
      -
      - -
      - -
      -
      -__init__(*args, **kwargs)[source]
      -

      If we have a tag, then we’ll prepopulate our instance with the fields we’d expect it -to have based on the tag. tag_key, tag_category, tag_type, and tag_data all refer to -the corresponding tag fields. The initial data of the form fields will similarly be -populated.

      -
      - -
      -
      -save(commit=True)[source]
      -

      One thing we want to do here is the or None checks, because forms are saved with an empty -string rather than null from forms, usually, and the Handlers may handle empty strings -differently than None objects. So for consistency with how things are handled in game, -we’ll try to make sure that empty form fields will be None, rather than ‘’.

      -
      - -
      -
      -base_fields = {'tag_category': <django.forms.fields.CharField object>, 'tag_data': <django.forms.fields.CharField object>, 'tag_key': <django.forms.fields.CharField object>, 'tag_type': <django.forms.fields.CharField object>}
      -
      - -
      -
      -declared_fields = {'tag_category': <django.forms.fields.CharField object>, 'tag_data': <django.forms.fields.CharField object>, 'tag_key': <django.forms.fields.CharField object>, 'tag_type': <django.forms.fields.CharField object>}
      -
      - -
      -
      -property media
      -

      Return all media required to render the widgets on this form.

      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.TagFormSet(data=None, files=None, instance=None, save_as_new=False, prefix=None, queryset=None, **kwargs)[source]
      -

      Bases: django.forms.models.BaseInlineFormSet

      -

      The Formset handles all the inline forms that are grouped together on the change page of the -corresponding object. All the tags will appear here, and we’ll save them by overriding the -formset’s save method. The forms will similarly spoof their save methods to return an instance -which hasn’t been saved to the database, but have the relevant fields filled out based on the -contents of the cleaned form. We’ll then use that to call to the handler of the corresponding -Object, where the handler is an AliasHandler, PermissionsHandler, or TagHandler, based on the -type of tag.

      -
      -
      -save(commit=True)[source]
      -

      Save model instances for every form, adding and changing instances -as necessary, and return the list of instances.

      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.TagInline(parent_model, admin_site)[source]
      -

      Bases: django.contrib.admin.options.TabularInline

      -

      A handler for inline Tags. This class should be subclassed in the admin of your models, -and the ‘model’ and ‘related_field’ class attributes must be set. model should be the -through model (ObjectDB_db_tag’, for example), while related field should be the name -of the field on that through model which points to the model being used: ‘objectdb’, -‘msg’, ‘accountdb’, etc.

      -
      -
      -model = None
      -
      - -
      -
      -form
      -

      alias of TagForm

      -
      - -
      -
      -formset
      -

      alias of TagFormSet

      -
      - -
      -
      -related_field = None
      -
      - -
      -
      -extra = 0
      -
      - -
      -
      -get_formset(request, obj=None, **kwargs)[source]
      -

      get_formset has to return a class, but we need to make the class that we return -know about the related_field that we’ll use. Returning the class itself rather than -a proxy isn’t threadsafe, since it’d be the base class and would change if multiple -people used the admin at the same time

      -
      - -
      -
      -property media
      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.AttributeForm(*args, **kwargs)[source]
      -

      Bases: django.forms.models.ModelForm

      -

      This form overrides the base behavior of the ModelForm that would be used for a Attribute-through-model. -Since the through-models only have access to the foreignkeys of the Attribute and the Object that they’re -attached to, we need to spoof the behavior of it being a form that would correspond to its Attribute, -or the creation of an Attribute. Instead of being saved, we’ll call to the Object’s handler, which will handle -the creation, change, or deletion of an Attribute for us, as well as updating the handler’s cache so that all -changes are instantly updated in-game.

      -
      -
      -class Meta[source]
      -

      Bases: object

      -
      -
      -fields = ('attr_key', 'attr_value', 'attr_category', 'attr_lockstring', 'attr_type')
      -
      - -
      - -
      -
      -__init__(*args, **kwargs)[source]
      -

      If we have an Attribute, then we’ll prepopulate our instance with the fields we’d expect it -to have based on the Attribute. attr_key, attr_category, attr_value, attr_type, -and attr_lockstring all refer to the corresponding Attribute fields. The initial data of the form fields will -similarly be populated.

      -
      - -
      -
      -save(commit=True)[source]
      -

      One thing we want to do here is the or None checks, because forms are saved with an empty -string rather than null from forms, usually, and the Handlers may handle empty strings -differently than None objects. So for consistency with how things are handled in game, -we’ll try to make sure that empty form fields will be None, rather than ‘’.

      -
      - -
      -
      -clean_attr_value()[source]
      -

      Prevent certain data-types from being cleaned due to literal_eval -failing on them. Otherwise they will be turned into str.

      -
      - -
      -
      -base_fields = {'attr_category': <django.forms.fields.CharField object>, 'attr_key': <django.forms.fields.CharField object>, 'attr_lockstring': <django.forms.fields.CharField object>, 'attr_type': <django.forms.fields.CharField object>, 'attr_value': <evennia.utils.picklefield.PickledFormField object>}
      -
      - -
      -
      -declared_fields = {'attr_category': <django.forms.fields.CharField object>, 'attr_key': <django.forms.fields.CharField object>, 'attr_lockstring': <django.forms.fields.CharField object>, 'attr_type': <django.forms.fields.CharField object>, 'attr_value': <evennia.utils.picklefield.PickledFormField object>}
      -
      - -
      -
      -property media
      -

      Return all media required to render the widgets on this form.

      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.AttributeFormSet(data=None, files=None, instance=None, save_as_new=False, prefix=None, queryset=None, **kwargs)[source]
      -

      Bases: django.forms.models.BaseInlineFormSet

      -

      Attribute version of TagFormSet, as above.

      -
      -
      -save(commit=True)[source]
      -

      Save model instances for every form, adding and changing instances -as necessary, and return the list of instances.

      -
      - -
      - -
      -
      -class evennia.typeclasses.admin.AttributeInline(parent_model, admin_site)[source]
      -

      Bases: django.contrib.admin.options.TabularInline

      -

      A handler for inline Attributes. This class should be subclassed in the admin of your models, -and the ‘model’ and ‘related_field’ class attributes must be set. model should be the -through model (ObjectDB_db_tag’, for example), while related field should be the name -of the field on that through model which points to the model being used: ‘objectdb’, -‘msg’, ‘accountdb’, etc.

      -
      -
      -model = None
      -
      - -
      -
      -form
      -

      alias of AttributeForm

      -
      - -
      -
      -formset
      -

      alias of AttributeFormSet

      -
      - -
      -
      -related_field = None
      -
      - -
      -
      -extra = 0
      -
      - -
      -
      -get_formset(request, obj=None, **kwargs)[source]
      -

      get_formset has to return a class, but we need to make the class that we return -know about the related_field that we’ll use. Returning the class itself rather than -a proxy isn’t threadsafe, since it’d be the base class and would change if multiple -people used the admin at the same time

      -
      - -
      -
      -property media
      -
      - -
      - +
      +

      evennia.typeclasses.admin

      @@ -371,7 +80,7 @@ people used the admin at the same time

    Versions

    diff --git a/docs/0.9.5/api/evennia.typeclasses.attributes.html b/docs/0.9.5/api/evennia.typeclasses.attributes.html index f0bc1acb47..aa8aa41bc7 100644 --- a/docs/0.9.5/api/evennia.typeclasses.attributes.html +++ b/docs/0.9.5/api/evennia.typeclasses.attributes.html @@ -160,10 +160,10 @@ other access calls.

    Parameters
      -
    • pk (int) – This is a fake ‘primary key’ / id-field. It doesn’t actually have to be unique, but is fed an -incrementing number from the InMemoryBackend by default. This is needed only so Attributes can be -sorted. Some parts of the API also see the lack of a .pk field as a sign that the Attribute was -deleted.

    • +
    • pk (int) – This is a fake ‘primary key’ / id-field. It doesn’t actually have to be +unique, but is fed an incrementing number from the InMemoryBackend by default. This +is needed only so Attributes can be sorted. Some parts of the API also see the lack +of a .pk field as a sign that the Attribute was deleted.

    • **kwargs – Other keyword arguments are used to construct the actual Attribute.

    @@ -499,7 +499,8 @@ this will lead to Trouble. Ignored for InMemory attributes.

    create_attribute(key, category, lockstring, value, strvalue=False, cache=True)[source]
    -

    Creates Attribute (using the class specified for the backend), (optionally) caches it, and returns it.

    +

    Creates Attribute (using the class specified for the backend), (optionally) caches it, and +returns it.

    This MUST actively save the Attribute to whatever database backend is used, AND call self.set_cache(key, category, new_attrobj)

    @@ -679,10 +680,10 @@ type attredit on the Attribute in question.

    class evennia.typeclasses.attributes.InMemoryAttributeBackend(handler, attrtype)[source]

    Bases: evennia.typeclasses.attributes.IAttributeBackend

    -

    This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and normally lost -on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes it manages, but these are -of little importance beyond sorting and satisfying the caching logic to know an Attribute hasn’t been -deleted out from under the cache’s nose.

    +

    This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and +normally lost on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes +it manages, but these are of little importance beyond sorting and satisfying the caching logic +to know an Attribute hasn’t been deleted out from under the cache’s nose.

    __init__(handler, attrtype)[source]
    @@ -772,7 +773,8 @@ deleted out from under the cache’s nose.

    do_delete_attribute(attr)[source]
    -

    Removes the Attribute from local storage. Once it’s out of the cache, garbage collection will handle the rest.

    +

    Removes the Attribute from local storage. Once it’s out of the cache, garbage collection +will handle the rest.

    Parameters

    attr (IAttribute) – The attribute to delete.

    @@ -925,10 +927,9 @@ and/or caching complications.

    Setup the AttributeHandler.

    Parameters
    -
      -
    • obj (TypedObject) – An Account, Object, Channel, ServerSession (not technically a typed object), etc.

    • -
    • backend_class (IAttributeBackend class) – The class of the backend to use.

    • -
    +

    obj (TypedObject) – An Account, Object, Channel, ServerSession (not technically a typed +object), etc. backend_class (IAttributeBackend class): The class of the backend to +use.

    @@ -1262,10 +1263,9 @@ They also always use the strvalue fields for their data.

    Setup the AttributeHandler.

    Parameters
    -
      -
    • obj (TypedObject) – An Account, Object, Channel, ServerSession (not technically a typed object), etc.

    • -
    • backend_class (IAttributeBackend class) – The class of the backend to use.

    • -
    +

    obj (TypedObject) – An Account, Object, Channel, ServerSession (not technically a typed +object), etc. backend_class (IAttributeBackend class): The class of the backend to +use.

    diff --git a/docs/0.9.5/api/evennia.typeclasses.models.html b/docs/0.9.5/api/evennia.typeclasses.models.html index 67d4ef415c..2ca866d0ed 100644 --- a/docs/0.9.5/api/evennia.typeclasses.models.html +++ b/docs/0.9.5/api/evennia.typeclasses.models.html @@ -67,18 +67,18 @@ these to create custom managers.

    Abstract Django model.

    This is the basis for a typed object. It also contains all the mechanics for managing connected attributes.

    -
    -
    The TypedObject has the following properties:

    key - main name -name - alias for key -typeclass_path - the path to the decorating typeclass -typeclass - auto-linked typeclass -date_created - time stamp of object creation -permissions - perm strings -dbref - #id of object -db - persistent attribute storage -ndb - non-persistent attribute storage

    -
    -
    +

    The TypedObject has the following properties:

    +
      +
    • key - main name

    • +
    • name - alias for key

    • +
    • typeclass_path - the path to the decorating typeclass

    • +
    • typeclass - auto-linked typeclass

    • +
    • date_created - time stamp of object creation

    • +
    • permissions - perm strings

    • +
    • dbref - #id of object

    • +
    • db - persistent attribute storage

    • +
    • ndb - non-persistent attribute storage

    • +
    db_key
    @@ -528,6 +528,44 @@ developer’s responsibility.

    +
    +
    +property date_created
    +

    A wrapper for getting database field db_date_created.

    +
    + +
    +
    +get_next_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=True, **kwargs)
    +
    + +
    +
    +get_previous_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=False, **kwargs)
    +
    + +
    +
    +property lock_storage
    +

    A wrapper for getting database field db_lock_storage.

    +
    + +
    +
    +path = 'evennia.typeclasses.models.TypedObject'
    +
    + +
    +
    +property typeclass_path
    +

    A wrapper for getting database field db_typeclass_path.

    +
    + +
    +
    +typename = 'SharedMemoryModelBase'
    +
    +
    web_get_detail_url()[source]
    @@ -602,7 +640,7 @@ object.

    in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-update’ would be referenced by this method.

    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$',
    -    CharUpdateView.as_view(), name='character-update')
    +CharUpdateView.as_view(), name='character-update')
     

    If no View has been created and defined in urls.py, returns an @@ -630,7 +668,7 @@ somewhere in urls.py that follows the format ‘modelname-action’, so in this case a named view of ‘character-detail’ would be referenced by this method.

    url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$',
    -    CharDeleteView.as_view(), name='character-delete')
    +CharDeleteView.as_view(), name='character-delete')
     

    If no View has been created and defined in urls.py, returns an HTML @@ -640,12 +678,6 @@ the actual view and limiting who can delete this object is the developer’s responsibility.

    -
    -
    -property date_created
    -

    A wrapper for getting database field db_date_created.

    -
    -
    get_absolute_url()
    @@ -674,38 +706,6 @@ the actual view and limiting who can view this object is the developer’s responsibility.

    -
    -
    -get_next_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=True, **kwargs)
    -
    - -
    -
    -get_previous_by_db_date_created(*, field=<django.db.models.fields.DateTimeField: db_date_created>, is_next=False, **kwargs)
    -
    - -
    -
    -property lock_storage
    -

    A wrapper for getting database field db_lock_storage.

    -
    - -
    -
    -path = 'evennia.typeclasses.models.TypedObject'
    -
    - -
    -
    -property typeclass_path
    -

    A wrapper for getting database field db_typeclass_path.

    -
    - -
    -
    -typename = 'SharedMemoryModelBase'
    -
    -
    diff --git a/docs/0.9.5/api/evennia.typeclasses.tags.html b/docs/0.9.5/api/evennia.typeclasses.tags.html index b2965e443e..c50b90f97a 100644 --- a/docs/0.9.5/api/evennia.typeclasses.tags.html +++ b/docs/0.9.5/api/evennia.typeclasses.tags.html @@ -391,8 +391,9 @@ tuples [(key, category), …].

    Batch-add tags from a list of tuples.

    Parameters
    -

    *args (tuple or str) – Each argument should be a tagstr keys or tuple (keystr, category) or -(keystr, category, data). It’s possible to mix input types.

    +

    *args (tuple or str) – Each argument should be a tagstr keys or tuple +(keystr, category) or (keystr, category, data). It’s possible to mix input +types.

    Notes

    diff --git a/docs/0.9.5/api/evennia.utils.ansi.html b/docs/0.9.5/api/evennia.utils.ansi.html index 9a32cf54ce..dbe29c8aa6 100644 --- a/docs/0.9.5/api/evennia.utils.ansi.html +++ b/docs/0.9.5/api/evennia.utils.ansi.html @@ -56,8 +56,8 @@ markup schemes).

    Markup

    -

    ANSI colors: r ed, g reen, y ellow, b lue, m agenta, c yan, n ormal (no color). Capital -letters indicate the ‘dark’ variant.

    +

    ANSI colors: r ed, g reen, y ellow, b lue, m agenta, c yan, n ormal (no color). +Capital letters indicate the ‘dark’ variant.

    • |r fg bright red

    • |R fg dark red

    • diff --git a/docs/0.9.5/api/evennia.utils.eveditor.html b/docs/0.9.5/api/evennia.utils.eveditor.html index 8dcd6c15c5..d731c9b1e5 100644 --- a/docs/0.9.5/api/evennia.utils.eveditor.html +++ b/docs/0.9.5/api/evennia.utils.eveditor.html @@ -257,7 +257,7 @@ indentation.

      -search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'tags': '', 'text': '\n No command match - Inputs line of text into buffer.\n '}
      +search_index_entry = {'aliases': '__noinput_command', 'category': 'general', 'key': '__nomatch_command', 'tags': '', 'text': '\n No command match - Inputs line of text into buffer.\n\n '}
    @@ -274,7 +274,7 @@ indentation.

    -aliases = [':DD', ':::', ':u', ':!', ':S', ':f', ':fd', ':q!', ':uu', ':dd', ':dw', ':r', ':y', ':=', ':j', ':q', ':', ':I', ':<', ':>', ':A', ':s', ':x', ':wq', ':w', '::', ':i', ':fi', ':echo', ':h', ':p', ':UU']
    +aliases = [':echo', ':x', ':y', ':', ':wq', ':w', ':::', ':f', '::', ':>', ':s', ':A', ':q!', ':fd', ':I', ':UU', ':q', ':i', ':p', ':fi', ':dd', ':j', ':=', ':DD', ':dw', ':r', ':h', ':u', ':<', ':!', ':uu', ':S']
    @@ -302,7 +302,7 @@ efficient presentation.

    -search_index_entry = {'aliases': ':DD ::: :u :! :S :f :fd :q! :uu :dd :dw :r :y := :j :q : :I :< :> :A :s :x :wq :w :: :i :fi :echo :h :p :UU', 'category': 'general', 'key': ':editor_command_group', 'tags': '', 'text': '\n Commands for the editor\n '}
    +search_index_entry = {'aliases': ':echo :x :y : :wq :w ::: :f :: :> :s :A :q! :fd :I :UU :q :i :p :fi :dd :j := :DD :dw :r :h :u :< :! :uu :S', 'category': 'general', 'key': ':editor_command_group', 'tags': '', 'text': '\n Commands for the editor\n '}
    diff --git a/docs/0.9.5/api/evennia.utils.evmenu.html b/docs/0.9.5/api/evennia.utils.evmenu.html index c126d5b1f4..9015989925 100644 --- a/docs/0.9.5/api/evennia.utils.evmenu.html +++ b/docs/0.9.5/api/evennia.utils.evmenu.html @@ -759,10 +759,30 @@ given, the decorated node must itself provide a way to continue from the node!

    Example

    -
    list_node(['foo', 'bar'], select)
    -def node_index(caller):
    -    text = "describing the list"
    -    return text, []
    +
    def select(caller, selection, available_choices=None, **kwargs):
    +    '''
    +    Args:
    +        caller (Object or Account): User of the menu.
    +        selection (str): What caller chose in the menu
    +        available_choices (list): The keys of elements available on the *current listing
    +            page*.
    +        **kwargs: Kwargs passed on from the node.
    +    Returns:
    +        tuple, str or None: A tuple (nextnodename, **kwargs) or just nextnodename.  Return
    +            **None** to go back to the listnode.
    +
    +    # (do something with **selection** here)
    +
    +    return "nextnode", **kwargs
    +
    +@list_node(['foo', 'bar'], select)
    +def node_index(caller):
    +    text = "describing the list"
    +
    +    # optional extra options in addition to the list-options
    +    extra_options = []
    +
    +    return text, extra_options
     

    Notes

    @@ -920,7 +940,7 @@ single question.

    -aliases = ['yes', 'a', 'no', 'abort', 'y', '__nomatch_command', 'n']
    +aliases = ['abort', 'a', 'y', 'n', '__nomatch_command', 'no', 'yes']
    @@ -946,7 +966,7 @@ single question.

    -search_index_entry = {'aliases': 'yes a no abort y __nomatch_command n', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
    +search_index_entry = {'aliases': 'abort a y n __nomatch_command no yes', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Handle a prompt for yes or no. Press [return] for the default choice.\n\n '}
    diff --git a/docs/0.9.5/api/evennia.utils.evmore.html b/docs/0.9.5/api/evennia.utils.evmore.html index 935492e099..df5ec2adbd 100644 --- a/docs/0.9.5/api/evennia.utils.evmore.html +++ b/docs/0.9.5/api/evennia.utils.evmore.html @@ -75,7 +75,7 @@ the caller.msg() construct every time the page is updated.

    -aliases = ['top', 'quit', 'q', 'a', 'e', 'back', 'b', 'next', 'abort', 'n', 'end', 't']
    +aliases = ['abort', 'a', 'e', 'b', 'quit', 'end', 'n', 'top', 'next', 'q', 'back', 't']
    @@ -101,7 +101,7 @@ the caller.msg() construct every time the page is updated.

    -search_index_entry = {'aliases': 'top quit q a e back b next abort n end t', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Manipulate the text paging\n '}
    +search_index_entry = {'aliases': 'abort a e b quit end n top next q back t', 'category': 'general', 'key': '__noinput_command', 'tags': '', 'text': '\n Manipulate the text paging\n '}
    @@ -373,14 +373,15 @@ strings, querysets, django.Paginator, EvTables and any iterables with strings.Notes

    If overridden, this method must perform the following actions:

      -
    • read and re-store self._data (the incoming data set) if needed for pagination to work.

    • +
    • read and re-store self._data (the incoming data set) if needed for pagination to +work.

    • set self._npages to the total number of pages. Default is 1.

    • set self._paginator to a callable that will take a page number 1…N and return the data to display on that page (not any decorations or next/prev buttons). If only wanting to change the paginator, override self.paginator instead.

    • -
    • set self._page_formatter to a callable that will receive the page from self._paginator -and format it with one element per line. Default is str. Or override self.page_formatter -directly instead.

    • +
    • set self._page_formatter to a callable that will receive the page from +self._paginator and format it with one element per line. Default is str. Or +override self.page_formatter directly instead.

    By default, helper methods are called that perform these actions depending on supported inputs.

    diff --git a/docs/0.9.5/api/evennia.utils.evtable.html b/docs/0.9.5/api/evennia.utils.evtable.html index 1bb7005c54..d947833206 100644 --- a/docs/0.9.5/api/evennia.utils.evtable.html +++ b/docs/0.9.5/api/evennia.utils.evtable.html @@ -478,8 +478,9 @@ resize individual columns in the vertical direction to fit.

  • height (int, optional) – Fixed height of table. Defaults to being unset. Width is still given precedence. If given, table cells will crop text rather than expand vertically.

  • -
  • evenwidth (bool, optional) – Used with the width keyword. Adjusts columns to have as even width as -possible. This often looks best also for mixed-length tables. Default is False.

  • +
  • evenwidth (bool, optional) – Used with the width keyword. Adjusts columns to have as +even width as possible. This often looks best also for mixed-length tables. Default +is False.

  • maxwidth (int, optional) – This will set a maximum width of the table while allowing it to be smaller. Only if it grows wider than this size will it be resized by expanding horizontally (or crop height is given). diff --git a/docs/0.9.5/api/evennia.utils.logger.html b/docs/0.9.5/api/evennia.utils.logger.html index e15939388d..b692ed8dd4 100644 --- a/docs/0.9.5/api/evennia.utils.logger.html +++ b/docs/0.9.5/api/evennia.utils.logger.html @@ -328,21 +328,31 @@ the previous log to the start of the new one.

    seek(*args, **kwargs)[source]

    Convenience method for accessing our _file attribute’s seek method, -which is used in tail_log_function. -:param *args: Same args as file.seek -:param **kwargs: Same kwargs as file.seek

    +which is used in tail_log_function.

    +
    +
    Parameters
    +
      +
    • *args – Same args as file.seek

    • +
    • **kwargs – Same kwargs as file.seek

    • +
    +
    +
    readlines(*args, **kwargs)[source]

    Convenience method for accessing our _file attribute’s readlines method, -which is used in tail_log_function. -:param *args: same args as file.readlines -:param **kwargs: same kwargs as file.readlines

    +which is used in tail_log_function.

    -
    Returns
    -

    lines (list) – lines from our _file attribute.

    +
    Parameters
    +
      +
    • *args – same args as file.readlines

    • +
    • **kwargs – same kwargs as file.readlines

    • +
    +
    +
    Returns
    +

    lines (list) – lines from our _file attribute.

    diff --git a/docs/0.9.5/api/evennia.utils.utils.html b/docs/0.9.5/api/evennia.utils.utils.html index d9c7d8ab2a..e6af952c30 100644 --- a/docs/0.9.5/api/evennia.utils.utils.html +++ b/docs/0.9.5/api/evennia.utils.utils.html @@ -1509,16 +1509,35 @@ of the game directory.

    List available typeclasses from all available modules.

    Parameters
    -

    parent (str, optional) – If given, only return typeclasses inheriting (at any distance) -from this parent.

    +

    parent (str, optional) – If given, only return typeclasses inheriting +(at any distance) from this parent.

    Returns

    dict – On the form {“typeclass.path”: typeclass, …}

    Notes

    -

    This will dynamically retrieve all abstract django models inheriting at any distance -from the TypedObject base (aka a Typeclass) so it will work fine with any custom +

    This will dynamically retrieve all abstract django models inheriting at +any distance from the TypedObject base (aka a Typeclass) so it will +work fine with any custom classes being added.

    +
    + +
    +
    +evennia.utils.utils.get_all_cmdsets(parent=None)[source]
    +

    List available cmdsets from all available modules.

    +
    +
    Parameters
    +

    parent (str, optional) – If given, only return cmdsets inheriting (at +any distance) from this parent.

    +
    +
    Returns
    +

    dict – On the form {“cmdset.path”: cmdset, …}

    +
    +
    +

    Notes

    +

    This will dynamically retrieve all abstract django models inheriting at +any distance from the CmdSet base so it will work fine with any custom classes being added.

    diff --git a/docs/0.9.5/api/evennia.utils.validatorfuncs.html b/docs/0.9.5/api/evennia.utils.validatorfuncs.html index 863600df6f..c1966a2255 100644 --- a/docs/0.9.5/api/evennia.utils.validatorfuncs.html +++ b/docs/0.9.5/api/evennia.utils.validatorfuncs.html @@ -86,8 +86,9 @@ If neither one is provided, defaults to UTC.

  • Parameters
      -
    • entry (string) – This is a string from user-input. The intended format is, for example: “5d 2w 90s” for -‘five days, two weeks, and ninety seconds.’ Invalid sections are ignored.

    • +
    • entry (string) – This is a string from user-input. The intended format is, for example: +“5d 2w 90s” for ‘five days, two weeks, and ninety seconds.’ Invalid sections are +ignored.

    • option_key (str) – Name to display this query as.

    @@ -120,14 +121,16 @@ If neither one is provided, defaults to UTC.

    evennia.utils.validatorfuncs.boolean(entry, option_key='True/False', **kwargs)[source]
    -

    Simplest check in computer logic, right? This will take user input to flick the switch on or off -:param entry: A value such as True, On, Enabled, Disabled, False, 0, or 1. -:type entry: str -:param option_key: What kind of Boolean we are setting. What Option is this for? -:type option_key: str

    +

    Simplest check in computer logic, right? This will take user input to flick the switch on or off

    -
    Returns
    -

    Boolean

    +
    Parameters
    +
      +
    • entry (str) – A value such as True, On, Enabled, Disabled, False, 0, or 1.

    • +
    • option_key (str) – What kind of Boolean we are setting. What Option is this for?

    • +
    +
    +
    Returns
    +

    Boolean

    diff --git a/docs/0.9.5/api/evennia.web.html b/docs/0.9.5/api/evennia.web.html index 68c5bc9cc7..99afda405e 100644 --- a/docs/0.9.5/api/evennia.web.html +++ b/docs/0.9.5/api/evennia.web.html @@ -39,10 +39,8 @@

    evennia.web

    -

    This sub-package holds the web presence of Evennia, using normal -Django to relate the database contents to web pages. Also the basic -webclient and the website are defined in here (the webserver itself is -found under the server package).

    +

    This sub-package holds the web presence of Evennia, using normal Django to +relate the database contents to web pages.

    • evennia.web.urls
    • diff --git a/docs/0.9.5/api/evennia.web.urls.html b/docs/0.9.5/api/evennia.web.urls.html index c316f934a0..8ef7e3045e 100644 --- a/docs/0.9.5/api/evennia.web.urls.html +++ b/docs/0.9.5/api/evennia.web.urls.html @@ -39,6 +39,21 @@

      evennia.web.urls

      +

      File that determines what each URL points to. This uses Python regular expressions. +This is the starting point when a user enters an URL.

      +
        +
      1. The URL is matched with a regex, tying it to a given view. Note that this central url.py +file includes url.py from all the various web-components found in views/ so the search +space is much larger than what is shown here.

      2. +
      3. The view (a Python function or class is executed)

      4. +
      5. The view uses a template (a HTML file which may contain template markers for dynamically +modifying its contents; the locations of such templates are given by +settings.TEMPLATES[0][‘DIRS’]) and which may in turn may include static +assets (CSS, images etc).

      6. +
      7. The view ‘renders’ the template into a finished HTML page, replacing all +dynamic content as appropriate.

      8. +
      9. The HTML page is returned to the user.

      10. +
      diff --git a/docs/0.9.5/api/evennia.web.utils.general_context.html b/docs/0.9.5/api/evennia.web.utils.general_context.html index 449cebada0..9dfb89bf46 100644 --- a/docs/0.9.5/api/evennia.web.utils.general_context.html +++ b/docs/0.9.5/api/evennia.web.utils.general_context.html @@ -39,6 +39,10 @@

      evennia.web.utils.general_context

      +

      This file defines global variables that will always be available in a view +context without having to repeatedly include it.

      +

      For this to work, this file is included in the settings file, in the +TEMPLATES[“OPTIONS”][“context_processors”] list.

      evennia.web.utils.general_context.set_game_name_and_slogan()[source]
      @@ -60,8 +64,8 @@ to webclient settings.

      evennia.web.utils.general_context.general_context(request)[source]
      -

      Returns common Evennia-related context stuff, which -is automatically added to context of all views.

      +

      Returns common Evennia-related context stuff, which is automatically added +to context of all views.

      diff --git a/docs/0.9.5/api/evennia.web.webclient.urls.html b/docs/0.9.5/api/evennia.web.webclient.urls.html index e01dc93d9b..426bed1068 100644 --- a/docs/0.9.5/api/evennia.web.webclient.urls.html +++ b/docs/0.9.5/api/evennia.web.webclient.urls.html @@ -39,8 +39,7 @@

      evennia.web.webclient.urls

      -

      This structures the (simple) structure of the -webpage ‘application’.

      +

      This structures the (simple) structure of the webpage ‘application’.

      diff --git a/docs/0.9.5/api/evennia.web.website.templatetags.addclass.html b/docs/0.9.5/api/evennia.web.website.templatetags.addclass.html index 64341afe67..df49d80004 100644 --- a/docs/0.9.5/api/evennia.web.website.templatetags.addclass.html +++ b/docs/0.9.5/api/evennia.web.website.templatetags.addclass.html @@ -37,13 +37,8 @@
      -
      -

      evennia.web.website.templatetags.addclass

      -
      -
      -evennia.web.website.templatetags.addclass.addclass(field, given_class)[source]
      -
      - +
      +

      evennia.web.website.templatetags.addclass

      @@ -85,7 +80,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.web.website.templatetags.html b/docs/0.9.5/api/evennia.web.website.templatetags.html index 69c78330b3..7045c375ce 100644 --- a/docs/0.9.5/api/evennia.web.website.templatetags.html +++ b/docs/0.9.5/api/evennia.web.website.templatetags.html @@ -85,7 +85,7 @@

    Versions

    diff --git a/docs/0.9.5/api/evennia.web.website.urls.html b/docs/0.9.5/api/evennia.web.website.urls.html index 5f451cc6c0..5f51da2c45 100644 --- a/docs/0.9.5/api/evennia.web.website.urls.html +++ b/docs/0.9.5/api/evennia.web.website.urls.html @@ -39,7 +39,7 @@

    evennia.web.website.urls

    -

    This structures the website.

    +

    This redirects to website sub-pages.

    diff --git a/docs/0.9.5/api/evennia.web.website.views.html b/docs/0.9.5/api/evennia.web.website.views.html index 80290a77ec..dae97c5a58 100644 --- a/docs/0.9.5/api/evennia.web.website.views.html +++ b/docs/0.9.5/api/evennia.web.website.views.html @@ -39,793 +39,7 @@

    evennia.web.website.views

    -

    This file contains the generic, assorted views that don’t fall under one of the other applications. -Views are django’s way of processing e.g. html templates on the fly.

    -
    -
    -evennia.web.website.views.to_be_implemented(request)[source]
    -

    A notice letting the user know that this particular feature hasn’t been -implemented yet.

    -
    - -
    -
    -evennia.web.website.views.evennia_admin(request)[source]
    -

    Helpful Evennia-specific admin page.

    -
    - -
    -
    -evennia.web.website.views.admin_wrapper(request)[source]
    -

    Wrapper that allows us to properly use the base Django admin site, if needed.

    -
    - -
    -
    -class evennia.web.website.views.EvenniaIndexView(**kwargs)[source]
    -

    Bases: django.views.generic.base.TemplateView

    -

    This is a basic example of a Django class-based view, which are functionally -very similar to Evennia Commands but differ in structure. Commands are used -to interface with users using a terminal client. Views are used to interface -with users using a web browser.

    -

    To use a class-based view, you need to have written a template in HTML, and -then you write a view like this to tell Django what values to display on it.

    -

    While there are simpler ways of writing views using plain functions (and -Evennia currently contains a few examples of them), just like Commands, -writing views as classes provides you with more flexibility– you can extend -classes and change things to suit your needs rather than having to copy and -paste entire code blocks over and over. Django also comes with many default -views for displaying things, all of them implemented as classes.

    -

    This particular example displays the index page.

    -
    -
    -template_name = 'website/index.html'
    -
    - -
    -
    -get_context_data(**kwargs)[source]
    -

    This is a common Django method. Think of this as the website -equivalent of the Evennia Command.func() method.

    -

    If you just want to display a static page with no customization, you -don’t need to define this method– just create a view, define -template_name and you’re done.

    -

    The only catch here is that if you extend or overwrite this method, -you’ll always want to make sure you call the parent method to get a -context object. It’s just a dict, but it comes prepopulated with all -sorts of background data intended for display on the page.

    -

    You can do whatever you want to it, but it must be returned at the end -of this method.

    -
    -
    Keyword Arguments
    -

    any (any) – Passed through.

    -
    -
    Returns
    -

    context (dict) – Dictionary of data you want to display on the page.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.TypeclassMixin[source]
    -

    Bases: object

    -

    This is a “mixin”, a modifier of sorts.

    -

    Django views typically work with classes called “models.” Evennia objects -are an enhancement upon these Django models and are called “typeclasses.” -But Django itself has no idea what a “typeclass” is.

    -

    For the sake of mitigating confusion, any view class with this in its -inheritance list will be modified to work with Evennia Typeclass objects or -Django models interchangeably.

    -
    -
    -property typeclass
    -
    - -
    - -
    -
    -class evennia.web.website.views.EvenniaCreateView(**kwargs)[source]
    -

    Bases: django.views.generic.edit.CreateView, evennia.web.website.views.TypeclassMixin

    -

    This view extends Django’s default CreateView.

    -

    CreateView is used for creating new objects, be they Accounts, Characters or -otherwise.

    -
    -
    -property page_title
    -
    - -
    - -
    -
    -class evennia.web.website.views.EvenniaDetailView(**kwargs)[source]
    -

    Bases: django.views.generic.detail.DetailView, evennia.web.website.views.TypeclassMixin

    -

    This view extends Django’s default DetailView.

    -

    DetailView is used for displaying objects, be they Accounts, Characters or -otherwise.

    -
    -
    -property page_title
    -
    - -
    - -
    -
    -class evennia.web.website.views.EvenniaUpdateView(**kwargs)[source]
    -

    Bases: django.views.generic.edit.UpdateView, evennia.web.website.views.TypeclassMixin

    -

    This view extends Django’s default UpdateView.

    -

    UpdateView is used for updating objects, be they Accounts, Characters or -otherwise.

    -
    -
    -property page_title
    -
    - -
    - -
    -
    -class evennia.web.website.views.EvenniaDeleteView(**kwargs)[source]
    -

    Bases: django.views.generic.edit.DeleteView, evennia.web.website.views.TypeclassMixin

    -

    This view extends Django’s default DeleteView.

    -

    DeleteView is used for deleting objects, be they Accounts, Characters or -otherwise.

    -
    -
    -property page_title
    -
    - -
    - -
    -
    -class evennia.web.website.views.ObjectDetailView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.EvenniaDetailView

    -

    This is an important view.

    -

    Any view you write that deals with displaying, updating or deleting a -specific object will want to inherit from this. It provides the mechanisms -by which to retrieve the object and make sure the user requesting it has -permissions to actually do things to it.

    -
    -
    -model
    -

    alias of evennia.objects.objects.DefaultObject

    -
    - -
    -
    -template_name = 'website/object_detail.html'
    -
    - -
    -
    -access_type = 'view'
    -
    - -
    -
    -attributes = ['name', 'desc']
    -
    - -
    -
    -get_context_data(**kwargs)[source]
    -

    Adds an ‘attributes’ list to the request context consisting of the -attributes specified at the class level, and in the order provided.

    -

    Django views do not provide a way to reference dynamic attributes, so -we have to grab them all before we render the template.

    -
    -
    Returns
    -

    context (dict) – Django context object

    -
    -
    -
    - -
    -
    -get_object(queryset=None)[source]
    -

    Override of Django hook that provides some important Evennia-specific -functionality.

    -

    Evennia does not natively store slugs, so where a slug is provided, -calculate the same for the object and make sure it matches.

    -

    This also checks to make sure the user has access to view/edit/delete -this object!

    -
    - -
    - -
    -
    -class evennia.web.website.views.ObjectCreateView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.EvenniaCreateView

    -

    This is an important view.

    -

    Any view you write that deals with creating a specific object will want to -inherit from this. It provides the mechanisms by which to make sure the user -requesting creation of an object is authenticated, and provides a sane -default title for the page.

    -
    -
    -model
    -

    alias of evennia.objects.objects.DefaultObject

    -
    - -
    - -
    -
    -class evennia.web.website.views.ObjectDeleteView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.ObjectDetailView, evennia.web.website.views.EvenniaDeleteView

    -

    This is an important view for obvious reasons!

    -

    Any view you write that deals with deleting a specific object will want to -inherit from this. It provides the mechanisms by which to make sure the user -requesting deletion of an object is authenticated, and that they have -permissions to delete the requested object.

    -
    -
    -model
    -

    alias of evennia.objects.objects.DefaultObject

    -
    - -
    -
    -template_name = 'website/object_confirm_delete.html'
    -
    - -
    -
    -access_type = 'delete'
    -
    - -
    -
    -delete(request, *args, **kwargs)[source]
    -

    Calls the delete() method on the fetched object and then -redirects to the success URL.

    -

    We extend this so we can capture the name for the sake of confirmation.

    -
    - -
    - -
    -
    -class evennia.web.website.views.ObjectUpdateView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.ObjectDetailView, evennia.web.website.views.EvenniaUpdateView

    -

    This is an important view.

    -

    Any view you write that deals with updating a specific object will want to -inherit from this. It provides the mechanisms by which to make sure the user -requesting editing of an object is authenticated, and that they have -permissions to edit the requested object.

    -

    This functions slightly different from default Django UpdateViews in that -it does not update core model fields, only object attributes!

    -
    -
    -model
    -

    alias of evennia.objects.objects.DefaultObject

    -
    - -
    -
    -access_type = 'edit'
    -
    - -
    -
    -get_success_url()[source]
    -

    Django hook.

    -

    Can be overridden to return any URL you want to redirect the user to -after the object is successfully updated, but by default it goes to the -object detail page so the user can see their changes reflected.

    -
    - -
    -
    -get_initial()[source]
    -

    Django hook, modified for Evennia.

    -

    Prepopulates the update form field values based on object db attributes.

    -
    -
    Returns
    -

    data (dict)

    -
    -
    Dictionary of key:value pairs containing initial form

    data.

    -
    -
    -

    -
    -
    -
    - -
    -
    -form_valid(form)[source]
    -

    Override of Django hook.

    -

    Updates object attributes based on values submitted.

    -

    This is run when the form is submitted and the data on it is deemed -valid– all values are within expected ranges, all strings contain -valid characters and lengths, etc.

    -

    This method is only called if all values for the fields submitted -passed form validation, so at this point we can assume the data is -validated and sanitized.

    -
    - -
    - -
    -
    -class evennia.web.website.views.AccountMixin[source]
    -

    Bases: evennia.web.website.views.TypeclassMixin

    -

    This is a “mixin”, a modifier of sorts.

    -

    Any view class with this in its inheritance list will be modified to work -with Account objects instead of generic Objects or otherwise.

    -
    -
    -model
    -

    alias of evennia.accounts.accounts.DefaultAccount

    -
    - -
    -
    -form_class
    -

    alias of evennia.web.website.forms.AccountForm

    -
    - -
    - -
    -
    -class evennia.web.website.views.AccountCreateView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.AccountMixin, evennia.web.website.views.EvenniaCreateView

    -

    Account creation view.

    -
    -
    -template_name = 'website/registration/register.html'
    -
    - -
    -
    -success_url
    -
    - -
    -
    -form_valid(form)[source]
    -

    Django hook, modified for Evennia.

    -

    This hook is called after a valid form is submitted.

    -

    When an account creation form is submitted and the data is deemed valid, -proceeds with creating the Account object.

    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterMixin[source]
    -

    Bases: evennia.web.website.views.TypeclassMixin

    -

    This is a “mixin”, a modifier of sorts.

    -

    Any view class with this in its inheritance list will be modified to work -with Character objects instead of generic Objects or otherwise.

    -
    -
    -model
    -

    alias of evennia.objects.objects.DefaultCharacter

    -
    - -
    -
    -form_class
    -

    alias of evennia.web.website.forms.CharacterForm

    -
    - -
    -
    -success_url
    -
    - -
    -
    -get_queryset()[source]
    -

    This method will override the Django get_queryset method to only -return a list of characters associated with the current authenticated -user.

    -
    -
    Returns
    -

    queryset (QuerySet) – Django queryset for use in the given view.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterListView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.CharacterMixin, django.views.generic.list.ListView

    -

    This view provides a mechanism by which a logged-in player can view a list -of all other characters.

    -

    This view requires authentication by default as a nominal effort to prevent -human stalkers and automated bots/scrapers from harvesting data on your users.

    -
    -
    -template_name = 'website/character_list.html'
    -
    - -
    -
    -paginate_by = 100
    -
    - -
    -
    -page_title = 'Character List'
    -
    - -
    -
    -access_type = 'view'
    -
    - -
    -
    -get_queryset()[source]
    -

    This method will override the Django get_queryset method to return a -list of all characters (filtered/sorted) instead of just those limited -to the account.

    -
    -
    Returns
    -

    queryset (QuerySet) – Django queryset for use in the given view.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterPuppetView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.CharacterMixin, django.views.generic.base.RedirectView, evennia.web.website.views.ObjectDetailView

    -

    This view provides a mechanism by which a logged-in player can “puppet” one -of their characters within the context of the website.

    -

    It also ensures that any user attempting to puppet something is logged in, -and that their intended puppet is one that they own.

    -
    -
    -get_redirect_url(*args, **kwargs)[source]
    -

    Django hook.

    -

    This view returns the URL to which the user should be redirected after -a passed or failed puppet attempt.

    -
    -
    Returns
    -

    url (str) – Path to post-puppet destination.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterManageView(**kwargs)[source]
    -

    Bases: django.contrib.auth.mixins.LoginRequiredMixin, evennia.web.website.views.CharacterMixin, django.views.generic.list.ListView

    -

    This view provides a mechanism by which a logged-in player can browse, -edit, or delete their own characters.

    -
    -
    -paginate_by = 10
    -
    - -
    -
    -template_name = 'website/character_manage_list.html'
    -
    - -
    -
    -page_title = 'Manage Characters'
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterUpdateView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.CharacterMixin, evennia.web.website.views.ObjectUpdateView

    -

    This view provides a mechanism by which a logged-in player (enforced by -ObjectUpdateView) can edit the attributes of a character they own.

    -
    -
    -form_class
    -

    alias of evennia.web.website.forms.CharacterUpdateForm

    -
    - -
    -
    -template_name = 'website/character_form.html'
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterDetailView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.CharacterMixin, evennia.web.website.views.ObjectDetailView

    -

    This view provides a mechanism by which a user can view the attributes of -a character, owned by them or not.

    -
    -
    -template_name = 'website/object_detail.html'
    -
    - -
    -
    -attributes = ['name', 'desc']
    -
    - -
    -
    -access_type = 'view'
    -
    - -
    -
    -get_queryset()[source]
    -

    This method will override the Django get_queryset method to return a -list of all characters the user may access.

    -
    -
    Returns
    -

    queryset (QuerySet) – Django queryset for use in the given view.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.CharacterDeleteView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.CharacterMixin, evennia.web.website.views.ObjectDeleteView

    -

    This view provides a mechanism by which a logged-in player (enforced by -ObjectDeleteView) can delete a character they own.

    -
    - -
    -
    -class evennia.web.website.views.CharacterCreateView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.CharacterMixin, evennia.web.website.views.ObjectCreateView

    -

    This view provides a mechanism by which a logged-in player (enforced by -ObjectCreateView) can create a new character.

    -
    -
    -template_name = 'website/character_form.html'
    -
    - -
    -
    -form_valid(form)[source]
    -

    Django hook, modified for Evennia.

    -

    This hook is called after a valid form is submitted.

    -

    When an character creation form is submitted and the data is deemed valid, -proceeds with creating the Character object.

    -
    - -
    - -
    -
    -class evennia.web.website.views.ChannelMixin[source]
    -

    Bases: evennia.web.website.views.TypeclassMixin

    -

    This is a “mixin”, a modifier of sorts.

    -

    Any view class with this in its inheritance list will be modified to work -with HelpEntry objects instead of generic Objects or otherwise.

    -
    -
    -model
    -

    alias of evennia.comms.comms.DefaultChannel

    -
    - -
    -
    -page_title = 'Channels'
    -
    - -
    -
    -access_type = 'listen'
    -
    - -
    -
    -get_queryset()[source]
    -

    Django hook; here we want to return a list of only those Channels -and other documentation that the current user is allowed to see.

    -
    -
    Returns
    -

    queryset (QuerySet) – List of Channels available to the user.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.ChannelListView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.ChannelMixin, django.views.generic.list.ListView

    -

    Returns a list of channels that can be viewed by a user, authenticated -or not.

    -
    -
    -paginate_by = 100
    -
    - -
    -
    -template_name = 'website/channel_list.html'
    -
    - -
    -
    -page_title = 'Channel Index'
    -
    - -
    - -
    - -
    -
    -get_context_data(**kwargs)[source]
    -

    Django hook; we override it to calculate the most popular channels.

    -
    -
    Returns
    -

    context (dict) – Django context object

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.ChannelDetailView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.ChannelMixin, evennia.web.website.views.ObjectDetailView

    -

    Returns the log entries for a given channel.

    -
    -
    -template_name = 'website/channel_detail.html'
    -
    - -
    -
    -attributes = ['name']
    -
    - -
    -
    -max_num_lines = 10000
    -
    - -
    -
    -get_context_data(**kwargs)[source]
    -

    Django hook; before we can display the channel logs, we need to recall -the logfile and read its lines.

    -
    -
    Returns
    -

    context (dict) – Django context object

    -
    -
    -
    - -
    -
    -get_object(queryset=None)[source]
    -

    Override of Django hook that retrieves an object by slugified channel -name.

    -
    -
    Returns
    -

    channel (Channel) – Channel requested in the URL.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.HelpMixin[source]
    -

    Bases: evennia.web.website.views.TypeclassMixin

    -

    This is a “mixin”, a modifier of sorts.

    -

    Any view class with this in its inheritance list will be modified to work -with HelpEntry objects instead of generic Objects or otherwise.

    -
    -
    -model
    -

    alias of evennia.help.models.HelpEntry

    -
    - -
    -
    -page_title = 'Help'
    -
    - -
    -
    -get_queryset()[source]
    -

    Django hook; here we want to return a list of only those HelpEntries -and other documentation that the current user is allowed to see.

    -
    -
    Returns
    -

    queryset (QuerySet) – List of Help entries available to the user.

    -
    -
    -
    - -
    - -
    -
    -class evennia.web.website.views.HelpListView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.HelpMixin, django.views.generic.list.ListView

    -

    Returns a list of help entries that can be viewed by a user, authenticated -or not.

    -
    -
    -paginate_by = 500
    -
    - -
    -
    -template_name = 'website/help_list.html'
    -
    - -
    -
    -page_title = 'Help Index'
    -
    - -
    - -
    -
    -class evennia.web.website.views.HelpDetailView(**kwargs)[source]
    -

    Bases: evennia.web.website.views.HelpMixin, evennia.web.website.views.EvenniaDetailView

    -

    Returns the detail page for a given help entry.

    -
    -
    -template_name = 'website/help_detail.html'
    -
    - -
    -
    -get_context_data(**kwargs)[source]
    -

    Adds navigational data to the template to let browsers go to the next -or previous entry in the help list.

    -
    -
    Returns
    -

    context (dict) – Django context object

    -
    -
    -
    - -
    -
    -get_object(queryset=None)[source]
    -

    Override of Django hook that retrieves an object by category and topic -instead of pk and slug.

    -
    -
    Returns
    -

    entry (HelpEntry) – HelpEntry requested in the URL.

    -
    -
    -
    - -
    - +

    Website views.

    diff --git a/docs/0.9.5/genindex.html b/docs/0.9.5/genindex.html index ce5abfc77e..54054cadae 100644 --- a/docs/0.9.5/genindex.html +++ b/docs/0.9.5/genindex.html @@ -207,10 +207,6 @@
  • (evennia.server.webserver.LockableThreadPool method)
  • (evennia.server.webserver.WSGIWebServer method) -
  • -
  • (evennia.typeclasses.admin.AttributeForm method) -
  • -
  • (evennia.typeclasses.admin.TagForm method)
  • (evennia.typeclasses.attributes.AttributeHandler method)
  • @@ -313,20 +309,6 @@
  • (evennia.typeclasses.attributes.IAttribute method)
  • (evennia.typeclasses.models.TypedObject method) -
  • - -
  • access_type (evennia.web.website.views.ChannelMixin attribute) - -
  • account() (evennia.objects.models.ObjectDB property) @@ -399,11 +381,7 @@
  • (evennia.web.website.tests.EvenniaWebTest attribute)
  • -
  • AccountAttributeInline (class in evennia.accounts.admin) -
  • AccountCmdSet (class in evennia.commands.default.cmdset_account) -
  • -
  • AccountCreateView (class in evennia.web.website.views)
  • AccountDB (class in evennia.accounts.models)
  • @@ -417,37 +395,13 @@
  • (evennia.typeclasses.tags.Tag attribute)
  • -
  • AccountDBAdmin (class in evennia.accounts.admin) -
  • -
  • AccountDBChangeForm (class in evennia.accounts.admin) -
  • -
  • AccountDBChangeForm.Meta (class in evennia.accounts.admin) -
  • -
  • AccountDBCreationForm (class in evennia.accounts.admin) -
  • -
  • AccountDBCreationForm.Meta (class in evennia.accounts.admin) -
  • AccountDBPasswordChecker (class in evennia.server.portal.ssh)
  • -
  • AccountForm (class in evennia.accounts.admin) - -
  • -
  • AccountForm.Meta (class in evennia.accounts.admin) - -
  • -
  • AccountInline (class in evennia.accounts.admin) +
  • AccountForm.Meta (class in evennia.web.website.forms)
  • AccountManager (class in evennia.accounts.manager) -
  • -
  • AccountMixin (class in evennia.web.website.views) -
  • -
  • AccountTagInline (class in evennia.accounts.admin)
  • action() (evennia.server.portal.irc.IRCBot method)
  • @@ -529,18 +483,6 @@
  • add_event() (evennia.contrib.ingame_python.scripts.EventHandler method)
  • -
  • add_fieldsets (evennia.accounts.admin.AccountDBAdmin attribute) - -
  • -
  • add_form (evennia.accounts.admin.AccountDBAdmin attribute) - -
  • add_header() (evennia.utils.evtable.EvTable method)
  • add_language() (in module evennia.contrib.rplanguage) @@ -550,10 +492,6 @@
  • add_rows() (evennia.utils.evtable.EvColumn method)
  • add_user_channel_alias() (evennia.comms.comms.DefaultChannel method) -
  • -
  • addclass() (in module evennia.web.website.templatetags.addclass) -
  • -
  • admin_wrapper() (in module evennia.web.website.views)
  • AdminPortal2Server (class in evennia.server.portal.amp)
  • @@ -1111,10 +1049,10 @@
  • (evennia.server.portal.amp.MsgStatus attribute)
  • - - + - + + - - -
  • get_initial() (evennia.web.website.views.ObjectUpdateView method) -
  • get_input() (in module evennia.utils.evmenu)
  • get_inputfuncs() (evennia.server.sessionhandler.ServerSessionHandler method) @@ -6705,6 +6381,8 @@
  • (evennia.comms.models.ChannelDB method)
  • (evennia.comms.models.Msg method) +
  • +
  • (evennia.help.models.HelpEntry method)
  • (evennia.objects.models.ObjectDB method)
  • @@ -6729,14 +6407,6 @@
  • get_obj_coordinates() (evennia.contrib.wilderness.WildernessScript method)
  • -
  • get_object() (evennia.web.website.views.ChannelDetailView method) - -
  • get_objs_at_coordinates() (evennia.contrib.wilderness.WildernessScript method)
  • get_other() (evennia.contrib.barter.TradeHandler method) @@ -6755,6 +6425,8 @@
  • (evennia.comms.models.ChannelDB method)
  • (evennia.comms.models.Msg method) +
  • +
  • (evennia.help.models.HelpEntry method)
  • (evennia.objects.models.ObjectDB method)
  • @@ -6773,21 +6445,7 @@
  • get_puppet_or_account() (evennia.server.serversession.ServerSession method)
  • -
  • get_queryset() (evennia.web.website.views.ChannelMixin method) - -
  • get_range() (in module evennia.contrib.turnbattle.tb_range) -
  • -
  • get_redirect_url() (evennia.web.website.views.CharacterPuppetView method)
  • get_regex_tuple() (evennia.contrib.rpsystem.RecogHandler method) @@ -6800,8 +6458,6 @@
  • get_status() (evennia.server.portal.amp_server.AMPServerProtocol method)
  • get_subscriptions() (evennia.comms.managers.ChannelDBManager method) -
  • -
  • get_success_url() (evennia.web.website.views.ObjectUpdateView method)
  • get_sync_data() (evennia.server.session.Session method)
  • @@ -7422,8 +7078,6 @@
  • help_more (evennia.commands.default.help.CmdHelp attribute)
  • HelpAction (class in evennia.contrib.unixcommand) -
  • -
  • HelpDetailView (class in evennia.web.website.views)
  • HelpEntry (class in evennia.help.models)
  • @@ -7432,20 +7086,8 @@
  • HelpEntry.MultipleObjectsReturned
  • helpentry_set (evennia.typeclasses.tags.Tag attribute) -
  • -
  • HelpEntryAdmin (class in evennia.help.admin) -
  • -
  • HelpEntryForm (class in evennia.help.admin) -
  • -
  • HelpEntryForm.Meta (class in evennia.help.admin)
  • HelpEntryManager (class in evennia.help.manager) -
  • -
  • HelpListView (class in evennia.web.website.views) -
  • -
  • HelpMixin (class in evennia.web.website.views) -
  • -
  • HelpTagInline (class in evennia.help.admin)
  • helptext_formatter() (evennia.prototypes.menus.OLCMenu method) @@ -7619,24 +7261,12 @@
  • (evennia.contrib.turnbattle.tb_magic.TBMagicTurnHandler method)
  • (evennia.contrib.turnbattle.tb_range.TBRangeTurnHandler method) -
  • - -
  • initialize_nick_templates() (in module evennia.typeclasses.attributes) -
  • -
  • inlines (evennia.accounts.admin.AccountDBAdmin attribute) - -
  • -
  • ObjectDBAdmin (class in evennia.objects.admin) -
  • -
  • ObjectDeleteView (class in evennia.web.website.views) -
  • -
  • ObjectDetailView (class in evennia.web.website.views) -
  • -
  • ObjectEditForm (class in evennia.objects.admin) -
  • -
  • ObjectEditForm.Meta (class in evennia.objects.admin) -
  • ObjectForm (class in evennia.web.website.forms)
  • ObjectForm.Meta (class in evennia.web.website.forms) @@ -10621,10 +10051,6 @@
  • remove_alias() (evennia.commands.default.comms.CmdChannel method)
  • - - + + -
  • response_add() (evennia.accounts.admin.AccountDBAdmin method) - -
  • RestartingWebsocketServerFactory (class in evennia.server.portal.grapevine) @@ -11846,62 +11182,16 @@
  • (evennia.scripts.taskhandler.TaskHandler method)
  • (evennia.scripts.tickerhandler.TickerHandler method) -
  • -
  • (evennia.typeclasses.admin.AttributeForm method) -
  • -
  • (evennia.typeclasses.admin.AttributeFormSet method) -
  • -
  • (evennia.typeclasses.admin.TagForm method) -
  • -
  • (evennia.typeclasses.admin.TagFormSet method)
  • (evennia.utils.idmapper.models.SharedMemoryModel method)
  • (evennia.utils.optionclasses.BaseOption method) -
  • - -
  • save_as (evennia.comms.admin.ChannelAdmin attribute) - -
  • save_buffer() (evennia.utils.eveditor.EvEditor method)
  • save_for_next (evennia.commands.command.Command attribute)
  • -
  • save_model() (evennia.accounts.admin.AccountDBAdmin method) - -
  • -
  • save_on_top (evennia.comms.admin.ChannelAdmin attribute) - -
  • save_prototype() (in module evennia.prototypes.prototypes)
  • save_recipe() (evennia.contrib.puzzles.PuzzleRecipe method) @@ -11930,8 +11220,6 @@
  • (evennia.web.website.tests.EvenniaWebTest attribute)
  • -
  • ScriptAttributeInline (class in evennia.scripts.admin) -
  • ScriptDB (class in evennia.scripts.models)
  • ScriptDB.DoesNotExist @@ -11948,8 +11236,6 @@
  • (evennia.typeclasses.tags.Tag attribute)
  • -
  • ScriptDBAdmin (class in evennia.scripts.admin) -
  • ScriptHandler (class in evennia.scripts.scripthandler)
  • ScriptManager (class in evennia.scripts.manager) @@ -11960,8 +11246,6 @@
  • (evennia.objects.objects.DefaultObject attribute)
  • -
  • ScriptTagInline (class in evennia.scripts.admin) -
  • sdesc (evennia.contrib.rpsystem.ContribRPCharacter attribute)
  • SdescError @@ -11996,22 +11280,6 @@
  • search_channel_tag() (in module evennia.utils.search)
  • -
  • search_fields (evennia.comms.admin.ChannelAdmin attribute) - -
  • search_for_obj() (evennia.commands.default.building.CmdSetAttribute method)
  • search_help() (evennia.help.manager.HelpEntryManager method) @@ -12494,8 +11762,6 @@
  • (evennia.utils.evmore.CmdMoreLook attribute)
  • - - + -
  • staff_only() (evennia.help.models.HelpEntry property) -
  • start() (evennia.accounts.bots.Bot method) - +
  • use_item() (in module evennia.contrib.turnbattle.tb_items) -
  • -
  • user_change_password() (evennia.accounts.admin.AccountDBAdmin method)
  • user_permissions (evennia.accounts.models.AccountDB attribute)
  • diff --git a/docs/0.9.5/objects.inv b/docs/0.9.5/objects.inv index 9e2ae04a406fbb3e52d147a26c26f2aa2ff2a5e1..41774db9486d92aad4a70d2ccafd34f38bc68acd 100644 GIT binary patch delta 70063 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≻2fx$Eb{L14 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 delta 72213 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 diff --git a/docs/0.9.5/py-modindex.html b/docs/0.9.5/py-modindex.html index 4df9fd46f5..4062d5f193 100644 --- a/docs/0.9.5/py-modindex.html +++ b/docs/0.9.5/py-modindex.html @@ -66,11 +66,6 @@     evennia.accounts.accounts - - -     - evennia.accounts.admin -     @@ -201,11 +196,6 @@     evennia.comms - - -     - evennia.comms.admin -     @@ -486,11 +476,6 @@     evennia.help - - -     - evennia.help.admin -     @@ -521,11 +506,6 @@     evennia.objects - - -     - evennia.objects.admin -     @@ -571,11 +551,6 @@     evennia.scripts - - -     - evennia.scripts.admin -     @@ -616,11 +591,6 @@     evennia.server - - -     - evennia.server.admin -     @@ -876,11 +846,6 @@     evennia.typeclasses - - -     - evennia.typeclasses.admin -     @@ -1091,11 +1056,6 @@     evennia.web.website.templatetags - - -     - evennia.web.website.templatetags.addclass -     diff --git a/docs/0.9.5/searchindex.js b/docs/0.9.5/searchindex.js index 0c2fb8c04b..1c4ee77896 100644 --- a/docs/0.9.5/searchindex.js +++ b/docs/0.9.5/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["A-voice-operated-elevator-using-events","API-refactoring","Accounts","Add-a-simple-new-web-page","Add-a-wiki-on-your-website","Adding-Command-Tutorial","Adding-Object-Typeclass-Tutorial","Administrative-Docs","Apache-Config","Arxcode-installing-help","Async-Process","Attributes","Banning","Batch-Code-Processor","Batch-Command-Processor","Batch-Processors","Bootstrap-&-Evennia","Bootstrap-Components-and-Utilities","Builder-Docs","Building-Permissions","Building-Quickstart","Building-a-mech-tutorial","Building-menus","Choosing-An-SQL-Server","Client-Support-Grid","Coding-FAQ","Coding-Introduction","Coding-Utils","Command-Cooldown","Command-Duration","Command-Prompt","Command-Sets","Command-System","Commands","Communications","Connection-Screen","Continuous-Integration","Contributing","Contributing-Docs","Coordinates","Custom-Protocols","Customize-channels","Debugging","Default-Command-Help","Default-Exit-Errors","Developer-Central","Dialogues-in-events","Directory-Overview","Docs-refactoring","Dynamic-In-Game-Map","EvEditor","EvMenu","EvMore","Evennia-API","Evennia-Game-Index","Evennia-Introduction","Evennia-for-Diku-Users","Evennia-for-MUSH-Users","Evennia-for-roleplaying-sessions","Execute-Python-Code","First-Steps-Coding","Game-Planning","Gametime-Tutorial","Getting-Started","Glossary","Grapevine","Guest-Logins","HAProxy-Config","Help-System","Help-System-Tutorial","How-To-Get-And-Give-Help","How-to-connect-Evennia-to-Twitter","IRC","Implementing-a-game-rule-system","Inputfuncs","Installing-on-Android","Internationalization","Learn-Python-for-Evennia-The-Hard-Way","Licensing","Links","Locks","Manually-Configuring-Color","Mass-and-weight-for-objects","Messagepath","MonitorHandler","NPC-shop-Tutorial","New-Models","Nicks","OOB","Objects","Online-Setup","Parsing-command-arguments,-theory-and-best-practices","Portal-And-Server","Profiling","Python-3","Python-basic-introduction","Python-basic-tutorial-part-two","Quirks","RSS","Roadmap","Running-Evennia-in-Docker","Screenshot","Scripts","Security","Server-Conf","Sessions","Setting-up-PyCharm","Signals","Soft-Code","Spawner-and-Prototypes","Start-Stop-Reload","Static-In-Game-Map","Tags","Text-Encodings","TextTags","TickerHandler","Turn-based-Combat-System","Tutorial-Aggressive-NPCs","Tutorial-NPCs-listening","Tutorial-Searching-For-Objects","Tutorial-Tweeting-Game-Stats","Tutorial-Vehicles","Tutorial-World-Introduction","Tutorial-for-basic-MUSH-like-game","Tutorials","Typeclasses","Understanding-Color-Tags","Unit-Testing","Updating-Your-Game","Using-MUX-as-a-Standard","Using-Travis","Version-Control","Weather-Tutorial","Web-Character-Generation","Web-Character-View-Tutorial","Web-Features","Web-Tutorial","Webclient","Webclient-brainstorm","Wiki-Index","Zones","api/evennia","api/evennia-api","api/evennia.accounts","api/evennia.accounts.accounts","api/evennia.accounts.admin","api/evennia.accounts.bots","api/evennia.accounts.manager","api/evennia.accounts.models","api/evennia.commands","api/evennia.commands.cmdhandler","api/evennia.commands.cmdparser","api/evennia.commands.cmdset","api/evennia.commands.cmdsethandler","api/evennia.commands.command","api/evennia.commands.default","api/evennia.commands.default.account","api/evennia.commands.default.admin","api/evennia.commands.default.batchprocess","api/evennia.commands.default.building","api/evennia.commands.default.cmdset_account","api/evennia.commands.default.cmdset_character","api/evennia.commands.default.cmdset_session","api/evennia.commands.default.cmdset_unloggedin","api/evennia.commands.default.comms","api/evennia.commands.default.general","api/evennia.commands.default.help","api/evennia.commands.default.muxcommand","api/evennia.commands.default.syscommands","api/evennia.commands.default.system","api/evennia.commands.default.tests","api/evennia.commands.default.unloggedin","api/evennia.comms","api/evennia.comms.admin","api/evennia.comms.channelhandler","api/evennia.comms.comms","api/evennia.comms.managers","api/evennia.comms.models","api/evennia.contrib","api/evennia.contrib.barter","api/evennia.contrib.building_menu","api/evennia.contrib.chargen","api/evennia.contrib.clothing","api/evennia.contrib.color_markups","api/evennia.contrib.custom_gametime","api/evennia.contrib.dice","api/evennia.contrib.email_login","api/evennia.contrib.extended_room","api/evennia.contrib.fieldfill","api/evennia.contrib.gendersub","api/evennia.contrib.health_bar","api/evennia.contrib.ingame_python","api/evennia.contrib.ingame_python.callbackhandler","api/evennia.contrib.ingame_python.commands","api/evennia.contrib.ingame_python.eventfuncs","api/evennia.contrib.ingame_python.scripts","api/evennia.contrib.ingame_python.tests","api/evennia.contrib.ingame_python.typeclasses","api/evennia.contrib.ingame_python.utils","api/evennia.contrib.mail","api/evennia.contrib.mapbuilder","api/evennia.contrib.menu_login","api/evennia.contrib.multidescer","api/evennia.contrib.puzzles","api/evennia.contrib.random_string_generator","api/evennia.contrib.rplanguage","api/evennia.contrib.rpsystem","api/evennia.contrib.security","api/evennia.contrib.security.auditing","api/evennia.contrib.security.auditing.outputs","api/evennia.contrib.security.auditing.server","api/evennia.contrib.security.auditing.tests","api/evennia.contrib.simpledoor","api/evennia.contrib.slow_exit","api/evennia.contrib.talking_npc","api/evennia.contrib.tree_select","api/evennia.contrib.turnbattle","api/evennia.contrib.turnbattle.tb_basic","api/evennia.contrib.turnbattle.tb_equip","api/evennia.contrib.turnbattle.tb_items","api/evennia.contrib.turnbattle.tb_magic","api/evennia.contrib.turnbattle.tb_range","api/evennia.contrib.tutorial_examples","api/evennia.contrib.tutorial_examples.bodyfunctions","api/evennia.contrib.tutorial_examples.cmdset_red_button","api/evennia.contrib.tutorial_examples.example_batch_code","api/evennia.contrib.tutorial_examples.red_button","api/evennia.contrib.tutorial_examples.red_button_scripts","api/evennia.contrib.tutorial_examples.tests","api/evennia.contrib.tutorial_world","api/evennia.contrib.tutorial_world.intro_menu","api/evennia.contrib.tutorial_world.mob","api/evennia.contrib.tutorial_world.objects","api/evennia.contrib.tutorial_world.rooms","api/evennia.contrib.unixcommand","api/evennia.contrib.wilderness","api/evennia.help","api/evennia.help.admin","api/evennia.help.manager","api/evennia.help.models","api/evennia.locks","api/evennia.locks.lockfuncs","api/evennia.locks.lockhandler","api/evennia.objects","api/evennia.objects.admin","api/evennia.objects.manager","api/evennia.objects.models","api/evennia.objects.objects","api/evennia.prototypes","api/evennia.prototypes.menus","api/evennia.prototypes.protfuncs","api/evennia.prototypes.prototypes","api/evennia.prototypes.spawner","api/evennia.scripts","api/evennia.scripts.admin","api/evennia.scripts.manager","api/evennia.scripts.models","api/evennia.scripts.monitorhandler","api/evennia.scripts.scripthandler","api/evennia.scripts.scripts","api/evennia.scripts.taskhandler","api/evennia.scripts.tickerhandler","api/evennia.server","api/evennia.server.admin","api/evennia.server.amp_client","api/evennia.server.connection_wizard","api/evennia.server.deprecations","api/evennia.server.evennia_launcher","api/evennia.server.game_index_client","api/evennia.server.game_index_client.client","api/evennia.server.game_index_client.service","api/evennia.server.initial_setup","api/evennia.server.inputfuncs","api/evennia.server.manager","api/evennia.server.models","api/evennia.server.portal","api/evennia.server.portal.amp","api/evennia.server.portal.amp_server","api/evennia.server.portal.grapevine","api/evennia.server.portal.irc","api/evennia.server.portal.mccp","api/evennia.server.portal.mssp","api/evennia.server.portal.mxp","api/evennia.server.portal.naws","api/evennia.server.portal.portal","api/evennia.server.portal.portalsessionhandler","api/evennia.server.portal.rss","api/evennia.server.portal.ssh","api/evennia.server.portal.ssl","api/evennia.server.portal.suppress_ga","api/evennia.server.portal.telnet","api/evennia.server.portal.telnet_oob","api/evennia.server.portal.telnet_ssl","api/evennia.server.portal.tests","api/evennia.server.portal.ttype","api/evennia.server.portal.webclient","api/evennia.server.portal.webclient_ajax","api/evennia.server.profiling","api/evennia.server.profiling.dummyrunner","api/evennia.server.profiling.dummyrunner_settings","api/evennia.server.profiling.memplot","api/evennia.server.profiling.settings_mixin","api/evennia.server.profiling.test_queries","api/evennia.server.profiling.tests","api/evennia.server.profiling.timetrace","api/evennia.server.server","api/evennia.server.serversession","api/evennia.server.session","api/evennia.server.sessionhandler","api/evennia.server.signals","api/evennia.server.throttle","api/evennia.server.validators","api/evennia.server.webserver","api/evennia.settings_default","api/evennia.typeclasses","api/evennia.typeclasses.admin","api/evennia.typeclasses.attributes","api/evennia.typeclasses.managers","api/evennia.typeclasses.models","api/evennia.typeclasses.tags","api/evennia.utils","api/evennia.utils.ansi","api/evennia.utils.batchprocessors","api/evennia.utils.containers","api/evennia.utils.create","api/evennia.utils.dbserialize","api/evennia.utils.eveditor","api/evennia.utils.evform","api/evennia.utils.evmenu","api/evennia.utils.evmore","api/evennia.utils.evtable","api/evennia.utils.gametime","api/evennia.utils.idmapper","api/evennia.utils.idmapper.manager","api/evennia.utils.idmapper.models","api/evennia.utils.idmapper.tests","api/evennia.utils.inlinefuncs","api/evennia.utils.logger","api/evennia.utils.optionclasses","api/evennia.utils.optionhandler","api/evennia.utils.picklefield","api/evennia.utils.search","api/evennia.utils.test_resources","api/evennia.utils.text2html","api/evennia.utils.utils","api/evennia.utils.validatorfuncs","api/evennia.web","api/evennia.web.urls","api/evennia.web.utils","api/evennia.web.utils.backends","api/evennia.web.utils.general_context","api/evennia.web.utils.middleware","api/evennia.web.utils.tests","api/evennia.web.webclient","api/evennia.web.webclient.urls","api/evennia.web.webclient.views","api/evennia.web.website","api/evennia.web.website.forms","api/evennia.web.website.templatetags","api/evennia.web.website.templatetags.addclass","api/evennia.web.website.tests","api/evennia.web.website.urls","api/evennia.web.website.views","index","toc"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["A-voice-operated-elevator-using-events.md","API-refactoring.md","Accounts.md","Add-a-simple-new-web-page.md","Add-a-wiki-on-your-website.md","Adding-Command-Tutorial.md","Adding-Object-Typeclass-Tutorial.md","Administrative-Docs.md","Apache-Config.md","Arxcode-installing-help.md","Async-Process.md","Attributes.md","Banning.md","Batch-Code-Processor.md","Batch-Command-Processor.md","Batch-Processors.md","Bootstrap-&-Evennia.md","Bootstrap-Components-and-Utilities.md","Builder-Docs.md","Building-Permissions.md","Building-Quickstart.md","Building-a-mech-tutorial.md","Building-menus.md","Choosing-An-SQL-Server.md","Client-Support-Grid.md","Coding-FAQ.md","Coding-Introduction.md","Coding-Utils.md","Command-Cooldown.md","Command-Duration.md","Command-Prompt.md","Command-Sets.md","Command-System.md","Commands.md","Communications.md","Connection-Screen.md","Continuous-Integration.md","Contributing.md","Contributing-Docs.md","Coordinates.md","Custom-Protocols.md","Customize-channels.md","Debugging.md","Default-Command-Help.md","Default-Exit-Errors.md","Developer-Central.md","Dialogues-in-events.md","Directory-Overview.md","Docs-refactoring.md","Dynamic-In-Game-Map.md","EvEditor.md","EvMenu.md","EvMore.md","Evennia-API.md","Evennia-Game-Index.md","Evennia-Introduction.md","Evennia-for-Diku-Users.md","Evennia-for-MUSH-Users.md","Evennia-for-roleplaying-sessions.md","Execute-Python-Code.md","First-Steps-Coding.md","Game-Planning.md","Gametime-Tutorial.md","Getting-Started.md","Glossary.md","Grapevine.md","Guest-Logins.md","HAProxy-Config.md","Help-System.md","Help-System-Tutorial.md","How-To-Get-And-Give-Help.md","How-to-connect-Evennia-to-Twitter.md","IRC.md","Implementing-a-game-rule-system.md","Inputfuncs.md","Installing-on-Android.md","Internationalization.md","Learn-Python-for-Evennia-The-Hard-Way.md","Licensing.md","Links.md","Locks.md","Manually-Configuring-Color.md","Mass-and-weight-for-objects.md","Messagepath.md","MonitorHandler.md","NPC-shop-Tutorial.md","New-Models.md","Nicks.md","OOB.md","Objects.md","Online-Setup.md","Parsing-command-arguments,-theory-and-best-practices.md","Portal-And-Server.md","Profiling.md","Python-3.md","Python-basic-introduction.md","Python-basic-tutorial-part-two.md","Quirks.md","RSS.md","Roadmap.md","Running-Evennia-in-Docker.md","Screenshot.md","Scripts.md","Security.md","Server-Conf.md","Sessions.md","Setting-up-PyCharm.md","Signals.md","Soft-Code.md","Spawner-and-Prototypes.md","Start-Stop-Reload.md","Static-In-Game-Map.md","Tags.md","Text-Encodings.md","TextTags.md","TickerHandler.md","Turn-based-Combat-System.md","Tutorial-Aggressive-NPCs.md","Tutorial-NPCs-listening.md","Tutorial-Searching-For-Objects.md","Tutorial-Tweeting-Game-Stats.md","Tutorial-Vehicles.md","Tutorial-World-Introduction.md","Tutorial-for-basic-MUSH-like-game.md","Tutorials.md","Typeclasses.md","Understanding-Color-Tags.md","Unit-Testing.md","Updating-Your-Game.md","Using-MUX-as-a-Standard.md","Using-Travis.md","Version-Control.md","Weather-Tutorial.md","Web-Character-Generation.md","Web-Character-View-Tutorial.md","Web-Features.md","Web-Tutorial.md","Webclient.md","Webclient-brainstorm.md","Wiki-Index.md","Zones.md","api/evennia.rst","api/evennia-api.rst","api/evennia.accounts.rst","api/evennia.accounts.accounts.rst","api/evennia.accounts.admin.rst","api/evennia.accounts.bots.rst","api/evennia.accounts.manager.rst","api/evennia.accounts.models.rst","api/evennia.commands.rst","api/evennia.commands.cmdhandler.rst","api/evennia.commands.cmdparser.rst","api/evennia.commands.cmdset.rst","api/evennia.commands.cmdsethandler.rst","api/evennia.commands.command.rst","api/evennia.commands.default.rst","api/evennia.commands.default.account.rst","api/evennia.commands.default.admin.rst","api/evennia.commands.default.batchprocess.rst","api/evennia.commands.default.building.rst","api/evennia.commands.default.cmdset_account.rst","api/evennia.commands.default.cmdset_character.rst","api/evennia.commands.default.cmdset_session.rst","api/evennia.commands.default.cmdset_unloggedin.rst","api/evennia.commands.default.comms.rst","api/evennia.commands.default.general.rst","api/evennia.commands.default.help.rst","api/evennia.commands.default.muxcommand.rst","api/evennia.commands.default.syscommands.rst","api/evennia.commands.default.system.rst","api/evennia.commands.default.tests.rst","api/evennia.commands.default.unloggedin.rst","api/evennia.comms.rst","api/evennia.comms.admin.rst","api/evennia.comms.channelhandler.rst","api/evennia.comms.comms.rst","api/evennia.comms.managers.rst","api/evennia.comms.models.rst","api/evennia.contrib.rst","api/evennia.contrib.barter.rst","api/evennia.contrib.building_menu.rst","api/evennia.contrib.chargen.rst","api/evennia.contrib.clothing.rst","api/evennia.contrib.color_markups.rst","api/evennia.contrib.custom_gametime.rst","api/evennia.contrib.dice.rst","api/evennia.contrib.email_login.rst","api/evennia.contrib.extended_room.rst","api/evennia.contrib.fieldfill.rst","api/evennia.contrib.gendersub.rst","api/evennia.contrib.health_bar.rst","api/evennia.contrib.ingame_python.rst","api/evennia.contrib.ingame_python.callbackhandler.rst","api/evennia.contrib.ingame_python.commands.rst","api/evennia.contrib.ingame_python.eventfuncs.rst","api/evennia.contrib.ingame_python.scripts.rst","api/evennia.contrib.ingame_python.tests.rst","api/evennia.contrib.ingame_python.typeclasses.rst","api/evennia.contrib.ingame_python.utils.rst","api/evennia.contrib.mail.rst","api/evennia.contrib.mapbuilder.rst","api/evennia.contrib.menu_login.rst","api/evennia.contrib.multidescer.rst","api/evennia.contrib.puzzles.rst","api/evennia.contrib.random_string_generator.rst","api/evennia.contrib.rplanguage.rst","api/evennia.contrib.rpsystem.rst","api/evennia.contrib.security.rst","api/evennia.contrib.security.auditing.rst","api/evennia.contrib.security.auditing.outputs.rst","api/evennia.contrib.security.auditing.server.rst","api/evennia.contrib.security.auditing.tests.rst","api/evennia.contrib.simpledoor.rst","api/evennia.contrib.slow_exit.rst","api/evennia.contrib.talking_npc.rst","api/evennia.contrib.tree_select.rst","api/evennia.contrib.turnbattle.rst","api/evennia.contrib.turnbattle.tb_basic.rst","api/evennia.contrib.turnbattle.tb_equip.rst","api/evennia.contrib.turnbattle.tb_items.rst","api/evennia.contrib.turnbattle.tb_magic.rst","api/evennia.contrib.turnbattle.tb_range.rst","api/evennia.contrib.tutorial_examples.rst","api/evennia.contrib.tutorial_examples.bodyfunctions.rst","api/evennia.contrib.tutorial_examples.cmdset_red_button.rst","api/evennia.contrib.tutorial_examples.example_batch_code.rst","api/evennia.contrib.tutorial_examples.red_button.rst","api/evennia.contrib.tutorial_examples.red_button_scripts.rst","api/evennia.contrib.tutorial_examples.tests.rst","api/evennia.contrib.tutorial_world.rst","api/evennia.contrib.tutorial_world.intro_menu.rst","api/evennia.contrib.tutorial_world.mob.rst","api/evennia.contrib.tutorial_world.objects.rst","api/evennia.contrib.tutorial_world.rooms.rst","api/evennia.contrib.unixcommand.rst","api/evennia.contrib.wilderness.rst","api/evennia.help.rst","api/evennia.help.admin.rst","api/evennia.help.manager.rst","api/evennia.help.models.rst","api/evennia.locks.rst","api/evennia.locks.lockfuncs.rst","api/evennia.locks.lockhandler.rst","api/evennia.objects.rst","api/evennia.objects.admin.rst","api/evennia.objects.manager.rst","api/evennia.objects.models.rst","api/evennia.objects.objects.rst","api/evennia.prototypes.rst","api/evennia.prototypes.menus.rst","api/evennia.prototypes.protfuncs.rst","api/evennia.prototypes.prototypes.rst","api/evennia.prototypes.spawner.rst","api/evennia.scripts.rst","api/evennia.scripts.admin.rst","api/evennia.scripts.manager.rst","api/evennia.scripts.models.rst","api/evennia.scripts.monitorhandler.rst","api/evennia.scripts.scripthandler.rst","api/evennia.scripts.scripts.rst","api/evennia.scripts.taskhandler.rst","api/evennia.scripts.tickerhandler.rst","api/evennia.server.rst","api/evennia.server.admin.rst","api/evennia.server.amp_client.rst","api/evennia.server.connection_wizard.rst","api/evennia.server.deprecations.rst","api/evennia.server.evennia_launcher.rst","api/evennia.server.game_index_client.rst","api/evennia.server.game_index_client.client.rst","api/evennia.server.game_index_client.service.rst","api/evennia.server.initial_setup.rst","api/evennia.server.inputfuncs.rst","api/evennia.server.manager.rst","api/evennia.server.models.rst","api/evennia.server.portal.rst","api/evennia.server.portal.amp.rst","api/evennia.server.portal.amp_server.rst","api/evennia.server.portal.grapevine.rst","api/evennia.server.portal.irc.rst","api/evennia.server.portal.mccp.rst","api/evennia.server.portal.mssp.rst","api/evennia.server.portal.mxp.rst","api/evennia.server.portal.naws.rst","api/evennia.server.portal.portal.rst","api/evennia.server.portal.portalsessionhandler.rst","api/evennia.server.portal.rss.rst","api/evennia.server.portal.ssh.rst","api/evennia.server.portal.ssl.rst","api/evennia.server.portal.suppress_ga.rst","api/evennia.server.portal.telnet.rst","api/evennia.server.portal.telnet_oob.rst","api/evennia.server.portal.telnet_ssl.rst","api/evennia.server.portal.tests.rst","api/evennia.server.portal.ttype.rst","api/evennia.server.portal.webclient.rst","api/evennia.server.portal.webclient_ajax.rst","api/evennia.server.profiling.rst","api/evennia.server.profiling.dummyrunner.rst","api/evennia.server.profiling.dummyrunner_settings.rst","api/evennia.server.profiling.memplot.rst","api/evennia.server.profiling.settings_mixin.rst","api/evennia.server.profiling.test_queries.rst","api/evennia.server.profiling.tests.rst","api/evennia.server.profiling.timetrace.rst","api/evennia.server.server.rst","api/evennia.server.serversession.rst","api/evennia.server.session.rst","api/evennia.server.sessionhandler.rst","api/evennia.server.signals.rst","api/evennia.server.throttle.rst","api/evennia.server.validators.rst","api/evennia.server.webserver.rst","api/evennia.settings_default.rst","api/evennia.typeclasses.rst","api/evennia.typeclasses.admin.rst","api/evennia.typeclasses.attributes.rst","api/evennia.typeclasses.managers.rst","api/evennia.typeclasses.models.rst","api/evennia.typeclasses.tags.rst","api/evennia.utils.rst","api/evennia.utils.ansi.rst","api/evennia.utils.batchprocessors.rst","api/evennia.utils.containers.rst","api/evennia.utils.create.rst","api/evennia.utils.dbserialize.rst","api/evennia.utils.eveditor.rst","api/evennia.utils.evform.rst","api/evennia.utils.evmenu.rst","api/evennia.utils.evmore.rst","api/evennia.utils.evtable.rst","api/evennia.utils.gametime.rst","api/evennia.utils.idmapper.rst","api/evennia.utils.idmapper.manager.rst","api/evennia.utils.idmapper.models.rst","api/evennia.utils.idmapper.tests.rst","api/evennia.utils.inlinefuncs.rst","api/evennia.utils.logger.rst","api/evennia.utils.optionclasses.rst","api/evennia.utils.optionhandler.rst","api/evennia.utils.picklefield.rst","api/evennia.utils.search.rst","api/evennia.utils.test_resources.rst","api/evennia.utils.text2html.rst","api/evennia.utils.utils.rst","api/evennia.utils.validatorfuncs.rst","api/evennia.web.rst","api/evennia.web.urls.rst","api/evennia.web.utils.rst","api/evennia.web.utils.backends.rst","api/evennia.web.utils.general_context.rst","api/evennia.web.utils.middleware.rst","api/evennia.web.utils.tests.rst","api/evennia.web.webclient.rst","api/evennia.web.webclient.urls.rst","api/evennia.web.webclient.views.rst","api/evennia.web.website.rst","api/evennia.web.website.forms.rst","api/evennia.web.website.templatetags.rst","api/evennia.web.website.templatetags.addclass.rst","api/evennia.web.website.tests.rst","api/evennia.web.website.urls.rst","api/evennia.web.website.views.rst","index.md","toc.md"],objects:{"":{evennia:[141,0,0,"-"]},"evennia.accounts":{accounts:[144,0,0,"-"],admin:[145,0,0,"-"],bots:[146,0,0,"-"],manager:[147,0,0,"-"],models:[148,0,0,"-"]},"evennia.accounts.accounts":{DefaultAccount:[144,1,1,""],DefaultGuest:[144,1,1,""]},"evennia.accounts.accounts.DefaultAccount":{"delete":[144,3,1,""],DoesNotExist:[144,2,1,""],MultipleObjectsReturned:[144,2,1,""],access:[144,3,1,""],at_access:[144,3,1,""],at_account_creation:[144,3,1,""],at_cmdset_get:[144,3,1,""],at_disconnect:[144,3,1,""],at_failed_login:[144,3,1,""],at_first_login:[144,3,1,""],at_first_save:[144,3,1,""],at_init:[144,3,1,""],at_look:[144,3,1,""],at_msg_receive:[144,3,1,""],at_msg_send:[144,3,1,""],at_password_change:[144,3,1,""],at_post_channel_msg:[144,3,1,""],at_post_disconnect:[144,3,1,""],at_post_login:[144,3,1,""],at_pre_channel_msg:[144,3,1,""],at_pre_login:[144,3,1,""],at_server_reload:[144,3,1,""],at_server_shutdown:[144,3,1,""],authenticate:[144,3,1,""],basetype_setup:[144,3,1,""],channel_msg:[144,3,1,""],character:[144,3,1,""],characters:[144,3,1,""],cmdset:[144,4,1,""],connection_time:[144,3,1,""],create:[144,3,1,""],create_character:[144,3,1,""],disconnect_session_from_account:[144,3,1,""],execute_cmd:[144,3,1,""],get_all_puppets:[144,3,1,""],get_display_name:[144,3,1,""],get_puppet:[144,3,1,""],get_username_validators:[144,3,1,""],idle_time:[144,3,1,""],is_banned:[144,3,1,""],msg:[144,3,1,""],nicks:[144,4,1,""],normalize_username:[144,3,1,""],objects:[144,4,1,""],options:[144,4,1,""],path:[144,4,1,""],puppet:[144,3,1,""],puppet_object:[144,3,1,""],scripts:[144,4,1,""],search:[144,3,1,""],sessions:[144,4,1,""],set_password:[144,3,1,""],typename:[144,4,1,""],unpuppet_all:[144,3,1,""],unpuppet_object:[144,3,1,""],validate_password:[144,3,1,""],validate_username:[144,3,1,""]},"evennia.accounts.accounts.DefaultGuest":{DoesNotExist:[144,2,1,""],MultipleObjectsReturned:[144,2,1,""],at_post_disconnect:[144,3,1,""],at_post_login:[144,3,1,""],at_server_shutdown:[144,3,1,""],authenticate:[144,3,1,""],create:[144,3,1,""],path:[144,4,1,""],typename:[144,4,1,""]},"evennia.accounts.admin":{AccountAttributeInline:[145,1,1,""],AccountDBAdmin:[145,1,1,""],AccountDBChangeForm:[145,1,1,""],AccountDBCreationForm:[145,1,1,""],AccountForm:[145,1,1,""],AccountInline:[145,1,1,""],AccountTagInline:[145,1,1,""]},"evennia.accounts.admin.AccountAttributeInline":{media:[145,3,1,""],model:[145,4,1,""],related_field:[145,4,1,""]},"evennia.accounts.admin.AccountDBAdmin":{add_fieldsets:[145,4,1,""],add_form:[145,4,1,""],fieldsets:[145,4,1,""],form:[145,4,1,""],inlines:[145,4,1,""],list_display:[145,4,1,""],media:[145,3,1,""],response_add:[145,3,1,""],save_model:[145,3,1,""],user_change_password:[145,3,1,""]},"evennia.accounts.admin.AccountDBChangeForm":{Meta:[145,1,1,""],base_fields:[145,4,1,""],clean_username:[145,3,1,""],declared_fields:[145,4,1,""],media:[145,3,1,""]},"evennia.accounts.admin.AccountDBChangeForm.Meta":{fields:[145,4,1,""],model:[145,4,1,""]},"evennia.accounts.admin.AccountDBCreationForm":{Meta:[145,1,1,""],base_fields:[145,4,1,""],clean_username:[145,3,1,""],declared_fields:[145,4,1,""],media:[145,3,1,""]},"evennia.accounts.admin.AccountDBCreationForm.Meta":{fields:[145,4,1,""],model:[145,4,1,""]},"evennia.accounts.admin.AccountForm":{Meta:[145,1,1,""],base_fields:[145,4,1,""],declared_fields:[145,4,1,""],media:[145,3,1,""]},"evennia.accounts.admin.AccountForm.Meta":{app_label:[145,4,1,""],fields:[145,4,1,""],model:[145,4,1,""]},"evennia.accounts.admin.AccountInline":{extra:[145,4,1,""],fieldsets:[145,4,1,""],form:[145,4,1,""],max_num:[145,4,1,""],media:[145,3,1,""],model:[145,4,1,""],template:[145,4,1,""]},"evennia.accounts.admin.AccountTagInline":{media:[145,3,1,""],model:[145,4,1,""],related_field:[145,4,1,""]},"evennia.accounts.bots":{Bot:[146,1,1,""],BotStarter:[146,1,1,""],GrapevineBot:[146,1,1,""],IRCBot:[146,1,1,""],RSSBot:[146,1,1,""]},"evennia.accounts.bots.Bot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_server_shutdown:[146,3,1,""],basetype_setup:[146,3,1,""],execute_cmd:[146,3,1,""],msg:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.BotStarter":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_repeat:[146,3,1,""],at_script_creation:[146,3,1,""],at_server_reload:[146,3,1,""],at_server_shutdown:[146,3,1,""],at_start:[146,3,1,""],path:[146,4,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.GrapevineBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_msg_send:[146,3,1,""],execute_cmd:[146,3,1,""],factory_path:[146,4,1,""],msg:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.IRCBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_msg_send:[146,3,1,""],execute_cmd:[146,3,1,""],factory_path:[146,4,1,""],get_nicklist:[146,3,1,""],msg:[146,3,1,""],path:[146,4,1,""],ping:[146,3,1,""],reconnect:[146,3,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.RSSBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],execute_cmd:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.manager":{AccountManager:[147,1,1,""]},"evennia.accounts.models":{AccountDB:[148,1,1,""]},"evennia.accounts.models.AccountDB":{DoesNotExist:[148,2,1,""],MultipleObjectsReturned:[148,2,1,""],account_subscription_set:[148,4,1,""],cmdset_storage:[148,3,1,""],db_attributes:[148,4,1,""],db_cmdset_storage:[148,4,1,""],db_is_bot:[148,4,1,""],db_is_connected:[148,4,1,""],db_tags:[148,4,1,""],get_next_by_date_joined:[148,3,1,""],get_next_by_db_date_created:[148,3,1,""],get_previous_by_date_joined:[148,3,1,""],get_previous_by_db_date_created:[148,3,1,""],groups:[148,4,1,""],hide_from_accounts_set:[148,4,1,""],id:[148,4,1,""],is_bot:[148,3,1,""],is_connected:[148,3,1,""],key:[148,3,1,""],logentry_set:[148,4,1,""],name:[148,3,1,""],objectdb_set:[148,4,1,""],objects:[148,4,1,""],path:[148,4,1,""],receiver_account_set:[148,4,1,""],scriptdb_set:[148,4,1,""],sender_account_set:[148,4,1,""],typename:[148,4,1,""],uid:[148,3,1,""],user_permissions:[148,4,1,""]},"evennia.commands":{"default":[155,0,0,"-"],cmdhandler:[150,0,0,"-"],cmdparser:[151,0,0,"-"],cmdset:[152,0,0,"-"],cmdsethandler:[153,0,0,"-"],command:[154,0,0,"-"]},"evennia.commands.cmdhandler":{InterruptCommand:[150,2,1,""],cmdhandler:[150,5,1,""]},"evennia.commands.cmdparser":{build_matches:[151,5,1,""],cmdparser:[151,5,1,""],create_match:[151,5,1,""],try_num_differentiators:[151,5,1,""]},"evennia.commands.cmdset":{CmdSet:[152,1,1,""]},"evennia.commands.cmdset.CmdSet":{__init__:[152,3,1,""],add:[152,3,1,""],at_cmdset_creation:[152,3,1,""],count:[152,3,1,""],duplicates:[152,4,1,""],errmessage:[152,4,1,""],get:[152,3,1,""],get_all_cmd_keys_and_aliases:[152,3,1,""],get_system_cmds:[152,3,1,""],key:[152,4,1,""],key_mergetypes:[152,4,1,""],make_unique:[152,3,1,""],mergetype:[152,4,1,""],no_channels:[152,4,1,""],no_exits:[152,4,1,""],no_objs:[152,4,1,""],path:[152,4,1,""],permanent:[152,4,1,""],priority:[152,4,1,""],remove:[152,3,1,""],to_duplicate:[152,4,1,""]},"evennia.commands.cmdsethandler":{CmdSetHandler:[153,1,1,""],import_cmdset:[153,5,1,""]},"evennia.commands.cmdsethandler.CmdSetHandler":{"delete":[153,3,1,""],__init__:[153,3,1,""],add:[153,3,1,""],add_default:[153,3,1,""],all:[153,3,1,""],clear:[153,3,1,""],delete_default:[153,3,1,""],get:[153,3,1,""],has:[153,3,1,""],has_cmdset:[153,3,1,""],remove:[153,3,1,""],remove_default:[153,3,1,""],reset:[153,3,1,""],update:[153,3,1,""]},"evennia.commands.command":{Command:[154,1,1,""],CommandMeta:[154,1,1,""],InterruptCommand:[154,2,1,""]},"evennia.commands.command.Command":{__init__:[154,3,1,""],access:[154,3,1,""],aliases:[154,4,1,""],arg_regex:[154,4,1,""],at_post_cmd:[154,3,1,""],at_pre_cmd:[154,3,1,""],auto_help:[154,4,1,""],client_width:[154,3,1,""],execute_cmd:[154,3,1,""],func:[154,3,1,""],get_command_info:[154,3,1,""],get_extra_info:[154,3,1,""],get_help:[154,3,1,""],help_category:[154,4,1,""],is_exit:[154,4,1,""],key:[154,4,1,""],lock_storage:[154,4,1,""],lockhandler:[154,4,1,""],locks:[154,4,1,""],match:[154,3,1,""],msg:[154,3,1,""],msg_all_sessions:[154,4,1,""],parse:[154,3,1,""],save_for_next:[154,4,1,""],search_index_entry:[154,4,1,""],set_aliases:[154,3,1,""],set_key:[154,3,1,""],styled_footer:[154,3,1,""],styled_header:[154,3,1,""],styled_separator:[154,3,1,""],styled_table:[154,3,1,""]},"evennia.commands.command.CommandMeta":{__init__:[154,3,1,""]},"evennia.commands.default":{account:[156,0,0,"-"],admin:[157,0,0,"-"],batchprocess:[158,0,0,"-"],building:[159,0,0,"-"],cmdset_account:[160,0,0,"-"],cmdset_character:[161,0,0,"-"],cmdset_session:[162,0,0,"-"],cmdset_unloggedin:[163,0,0,"-"],comms:[164,0,0,"-"],general:[165,0,0,"-"],help:[166,0,0,"-"],muxcommand:[167,0,0,"-"],syscommands:[168,0,0,"-"],system:[169,0,0,"-"],unloggedin:[171,0,0,"-"]},"evennia.commands.default.account":{CmdCharCreate:[156,1,1,""],CmdCharDelete:[156,1,1,""],CmdColorTest:[156,1,1,""],CmdIC:[156,1,1,""],CmdOOC:[156,1,1,""],CmdOOCLook:[156,1,1,""],CmdOption:[156,1,1,""],CmdPassword:[156,1,1,""],CmdQuell:[156,1,1,""],CmdQuit:[156,1,1,""],CmdSessions:[156,1,1,""],CmdStyle:[156,1,1,""],CmdWho:[156,1,1,""]},"evennia.commands.default.account.CmdCharCreate":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdCharDelete":{aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdColorTest":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],slice_bright_bg:[156,4,1,""],slice_bright_fg:[156,4,1,""],slice_dark_bg:[156,4,1,""],slice_dark_fg:[156,4,1,""],table_format:[156,3,1,""]},"evennia.commands.default.account.CmdIC":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOOC":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOOCLook":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOption":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdPassword":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdQuell":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdQuit":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdSessions":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdStyle":{aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],list_styles:[156,3,1,""],lock_storage:[156,4,1,""],search_index_entry:[156,4,1,""],set:[156,3,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdWho":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.admin":{CmdBan:[157,1,1,""],CmdBoot:[157,1,1,""],CmdEmit:[157,1,1,""],CmdForce:[157,1,1,""],CmdNewPassword:[157,1,1,""],CmdPerm:[157,1,1,""],CmdUnban:[157,1,1,""],CmdWall:[157,1,1,""]},"evennia.commands.default.admin.CmdBan":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdBoot":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdEmit":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdForce":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],perm_used:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdNewPassword":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdPerm":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdUnban":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdWall":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.batchprocess":{CmdBatchCode:[158,1,1,""],CmdBatchCommands:[158,1,1,""]},"evennia.commands.default.batchprocess.CmdBatchCode":{aliases:[158,4,1,""],func:[158,3,1,""],help_category:[158,4,1,""],key:[158,4,1,""],lock_storage:[158,4,1,""],locks:[158,4,1,""],search_index_entry:[158,4,1,""],switch_options:[158,4,1,""]},"evennia.commands.default.batchprocess.CmdBatchCommands":{aliases:[158,4,1,""],func:[158,3,1,""],help_category:[158,4,1,""],key:[158,4,1,""],lock_storage:[158,4,1,""],locks:[158,4,1,""],search_index_entry:[158,4,1,""],switch_options:[158,4,1,""]},"evennia.commands.default.building":{CmdCopy:[159,1,1,""],CmdCpAttr:[159,1,1,""],CmdCreate:[159,1,1,""],CmdDesc:[159,1,1,""],CmdDestroy:[159,1,1,""],CmdDig:[159,1,1,""],CmdExamine:[159,1,1,""],CmdFind:[159,1,1,""],CmdLink:[159,1,1,""],CmdListCmdSets:[159,1,1,""],CmdLock:[159,1,1,""],CmdMvAttr:[159,1,1,""],CmdName:[159,1,1,""],CmdOpen:[159,1,1,""],CmdScript:[159,1,1,""],CmdSetAttribute:[159,1,1,""],CmdSetHome:[159,1,1,""],CmdSetObjAlias:[159,1,1,""],CmdSpawn:[159,1,1,""],CmdTag:[159,1,1,""],CmdTeleport:[159,1,1,""],CmdTunnel:[159,1,1,""],CmdTypeclass:[159,1,1,""],CmdUnLink:[159,1,1,""],CmdWipe:[159,1,1,""],ObjManipCommand:[159,1,1,""]},"evennia.commands.default.building.CmdCopy":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdCpAttr":{aliases:[159,4,1,""],check_from_attr:[159,3,1,""],check_has_attr:[159,3,1,""],check_to_attr:[159,3,1,""],func:[159,3,1,""],get_attr:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdCreate":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_obj_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDesc":{aliases:[159,4,1,""],edit_handler:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDestroy":{aliases:[159,4,1,""],confirm:[159,4,1,""],default_confirm:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDig":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_room_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdExamine":{account_mode:[159,4,1,""],aliases:[159,4,1,""],arg_regex:[159,4,1,""],detail_color:[159,4,1,""],format_attributes:[159,3,1,""],format_output:[159,3,1,""],func:[159,3,1,""],header_color:[159,4,1,""],help_category:[159,4,1,""],key:[159,4,1,""],list_attribute:[159,3,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],quell_color:[159,4,1,""],search_index_entry:[159,4,1,""],separator:[159,4,1,""]},"evennia.commands.default.building.CmdFind":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdLink":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdListCmdSets":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdLock":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdMvAttr":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdName":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdOpen":{aliases:[159,4,1,""],create_exit:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_obj_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdScript":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdSetAttribute":{aliases:[159,4,1,""],check_attr:[159,3,1,""],check_obj:[159,3,1,""],do_nested_lookup:[159,3,1,""],edit_handler:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],nested_re:[159,4,1,""],not_found:[159,4,1,""],rm_attr:[159,3,1,""],search_for_obj:[159,3,1,""],search_index_entry:[159,4,1,""],set_attr:[159,3,1,""],split_nested_attr:[159,3,1,""],view_attr:[159,3,1,""]},"evennia.commands.default.building.CmdSetHome":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdSetObjAlias":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdSpawn":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTag":{aliases:[159,4,1,""],arg_regex:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],options:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdTeleport":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],rhs_split:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTunnel":{aliases:[159,4,1,""],directions:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTypeclass":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdUnLink":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],help_key:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdWipe":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.ObjManipCommand":{aliases:[159,4,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],parse:[159,3,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.cmdset_account":{AccountCmdSet:[160,1,1,""]},"evennia.commands.default.cmdset_account.AccountCmdSet":{at_cmdset_creation:[160,3,1,""],key:[160,4,1,""],path:[160,4,1,""],priority:[160,4,1,""]},"evennia.commands.default.cmdset_character":{CharacterCmdSet:[161,1,1,""]},"evennia.commands.default.cmdset_character.CharacterCmdSet":{at_cmdset_creation:[161,3,1,""],key:[161,4,1,""],path:[161,4,1,""],priority:[161,4,1,""]},"evennia.commands.default.cmdset_session":{SessionCmdSet:[162,1,1,""]},"evennia.commands.default.cmdset_session.SessionCmdSet":{at_cmdset_creation:[162,3,1,""],key:[162,4,1,""],path:[162,4,1,""],priority:[162,4,1,""]},"evennia.commands.default.cmdset_unloggedin":{UnloggedinCmdSet:[163,1,1,""]},"evennia.commands.default.cmdset_unloggedin.UnloggedinCmdSet":{at_cmdset_creation:[163,3,1,""],key:[163,4,1,""],path:[163,4,1,""],priority:[163,4,1,""]},"evennia.commands.default.comms":{CmdAddCom:[164,1,1,""],CmdAllCom:[164,1,1,""],CmdCBoot:[164,1,1,""],CmdCWho:[164,1,1,""],CmdCdesc:[164,1,1,""],CmdCdestroy:[164,1,1,""],CmdChannel:[164,1,1,""],CmdChannelCreate:[164,1,1,""],CmdClock:[164,1,1,""],CmdDelCom:[164,1,1,""],CmdGrapevine2Chan:[164,1,1,""],CmdIRC2Chan:[164,1,1,""],CmdIRCStatus:[164,1,1,""],CmdPage:[164,1,1,""],CmdRSS2Chan:[164,1,1,""]},"evennia.commands.default.comms.CmdAddCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdAllCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCBoot":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdCWho":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCdesc":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCdestroy":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdChannel":{account_caller:[164,4,1,""],add_alias:[164,3,1,""],aliases:[164,4,1,""],ban_user:[164,3,1,""],boot_user:[164,3,1,""],channel_list_bans:[164,3,1,""],channel_list_who:[164,3,1,""],create_channel:[164,3,1,""],destroy_channel:[164,3,1,""],display_all_channels:[164,3,1,""],display_subbed_channels:[164,3,1,""],func:[164,3,1,""],get_channel_aliases:[164,3,1,""],get_channel_history:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],list_channels:[164,3,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],msg_channel:[164,3,1,""],mute_channel:[164,3,1,""],remove_alias:[164,3,1,""],search_channel:[164,3,1,""],search_index_entry:[164,4,1,""],set_desc:[164,3,1,""],set_lock:[164,3,1,""],sub_to_channel:[164,3,1,""],switch_options:[164,4,1,""],unban_user:[164,3,1,""],unmute_channel:[164,3,1,""],unset_lock:[164,3,1,""],unsub_from_channel:[164,3,1,""]},"evennia.commands.default.comms.CmdChannelCreate":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdClock":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdDelCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdGrapevine2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdIRC2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdIRCStatus":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdPage":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdRSS2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.general":{CmdAccess:[165,1,1,""],CmdDrop:[165,1,1,""],CmdGet:[165,1,1,""],CmdGive:[165,1,1,""],CmdHome:[165,1,1,""],CmdInventory:[165,1,1,""],CmdLook:[165,1,1,""],CmdNick:[165,1,1,""],CmdPose:[165,1,1,""],CmdSay:[165,1,1,""],CmdSetDesc:[165,1,1,""],CmdWhisper:[165,1,1,""]},"evennia.commands.default.general.CmdAccess":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdDrop":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdGet":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdGive":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],rhs_split:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdHome":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdInventory":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdLook":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdNick":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],parse:[165,3,1,""],search_index_entry:[165,4,1,""],switch_options:[165,4,1,""]},"evennia.commands.default.general.CmdPose":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],parse:[165,3,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdSay":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdSetDesc":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdWhisper":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.help":{CmdHelp:[166,1,1,""],CmdSetHelp:[166,1,1,""]},"evennia.commands.default.help.CmdHelp":{aliases:[166,4,1,""],arg_regex:[166,4,1,""],check_show_help:[166,3,1,""],format_help_entry:[166,3,1,""],format_help_index:[166,3,1,""],func:[166,3,1,""],help_category:[166,4,1,""],help_more:[166,4,1,""],index_category_clr:[166,4,1,""],index_topic_clr:[166,4,1,""],index_type_separator_clr:[166,4,1,""],key:[166,4,1,""],lock_storage:[166,4,1,""],locks:[166,4,1,""],msg_help:[166,3,1,""],parse:[166,3,1,""],return_cmdset:[166,4,1,""],search_index_entry:[166,4,1,""],should_list_cmd:[166,3,1,""],subtopic_separator_char:[166,4,1,""],suggestion_cutoff:[166,4,1,""],suggestion_maxnum:[166,4,1,""]},"evennia.commands.default.help.CmdSetHelp":{aliases:[166,4,1,""],func:[166,3,1,""],help_category:[166,4,1,""],key:[166,4,1,""],lock_storage:[166,4,1,""],locks:[166,4,1,""],search_index_entry:[166,4,1,""],switch_options:[166,4,1,""]},"evennia.commands.default.muxcommand":{MuxAccountCommand:[167,1,1,""],MuxCommand:[167,1,1,""]},"evennia.commands.default.muxcommand.MuxAccountCommand":{account_caller:[167,4,1,""],aliases:[167,4,1,""],help_category:[167,4,1,""],key:[167,4,1,""],lock_storage:[167,4,1,""],search_index_entry:[167,4,1,""]},"evennia.commands.default.muxcommand.MuxCommand":{aliases:[167,4,1,""],at_post_cmd:[167,3,1,""],at_pre_cmd:[167,3,1,""],func:[167,3,1,""],get_command_info:[167,3,1,""],has_perm:[167,3,1,""],help_category:[167,4,1,""],key:[167,4,1,""],lock_storage:[167,4,1,""],parse:[167,3,1,""],search_index_entry:[167,4,1,""]},"evennia.commands.default.syscommands":{SystemMultimatch:[168,1,1,""],SystemNoInput:[168,1,1,""],SystemNoMatch:[168,1,1,""]},"evennia.commands.default.syscommands.SystemMultimatch":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.syscommands.SystemNoInput":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.syscommands.SystemNoMatch":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.system":{CmdAbout:[169,1,1,""],CmdObjects:[169,1,1,""],CmdPy:[169,1,1,""],CmdReload:[169,1,1,""],CmdReset:[169,1,1,""],CmdScripts:[169,1,1,""],CmdServerLoad:[169,1,1,""],CmdService:[169,1,1,""],CmdShutdown:[169,1,1,""],CmdTime:[169,1,1,""]},"evennia.commands.default.system.CmdAbout":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdObjects":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdPy":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdReload":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdReset":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdScripts":{aliases:[169,4,1,""],excluded_typeclass_paths:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_mapping:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdServerLoad":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdService":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdShutdown":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdTime":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.tests":{CmdInterrupt:[170,1,1,""],CommandTest:[170,1,1,""],TestAccount:[170,1,1,""],TestAdmin:[170,1,1,""],TestBatchProcess:[170,1,1,""],TestBuilding:[170,1,1,""],TestComms:[170,1,1,""],TestCommsChannel:[170,1,1,""],TestGeneral:[170,1,1,""],TestHelp:[170,1,1,""],TestInterruptCommand:[170,1,1,""],TestSystem:[170,1,1,""],TestSystemCommands:[170,1,1,""],TestUnconnectedCommand:[170,1,1,""]},"evennia.commands.default.tests.CmdInterrupt":{aliases:[170,4,1,""],func:[170,3,1,""],help_category:[170,4,1,""],key:[170,4,1,""],lock_storage:[170,4,1,""],parse:[170,3,1,""],search_index_entry:[170,4,1,""]},"evennia.commands.default.tests.CommandTest":{call:[170,3,1,""]},"evennia.commands.default.tests.TestAccount":{test_char_create:[170,3,1,""],test_char_delete:[170,3,1,""],test_color_test:[170,3,1,""],test_ic:[170,3,1,""],test_ic__nonaccess:[170,3,1,""],test_ic__other_object:[170,3,1,""],test_ooc:[170,3,1,""],test_ooc_look:[170,3,1,""],test_option:[170,3,1,""],test_password:[170,3,1,""],test_quell:[170,3,1,""],test_quit:[170,3,1,""],test_sessions:[170,3,1,""],test_who:[170,3,1,""]},"evennia.commands.default.tests.TestAdmin":{test_ban:[170,3,1,""],test_emit:[170,3,1,""],test_force:[170,3,1,""],test_perm:[170,3,1,""],test_wall:[170,3,1,""]},"evennia.commands.default.tests.TestBatchProcess":{test_batch_commands:[170,3,1,""]},"evennia.commands.default.tests.TestBuilding":{test_attribute_commands:[170,3,1,""],test_copy:[170,3,1,""],test_create:[170,3,1,""],test_desc:[170,3,1,""],test_desc_default_to_room:[170,3,1,""],test_destroy:[170,3,1,""],test_destroy_sequence:[170,3,1,""],test_dig:[170,3,1,""],test_do_nested_lookup:[170,3,1,""],test_empty_desc:[170,3,1,""],test_examine:[170,3,1,""],test_exit_commands:[170,3,1,""],test_find:[170,3,1,""],test_list_cmdsets:[170,3,1,""],test_lock:[170,3,1,""],test_name:[170,3,1,""],test_nested_attribute_commands:[170,3,1,""],test_script:[170,3,1,""],test_set_home:[170,3,1,""],test_set_obj_alias:[170,3,1,""],test_spawn:[170,3,1,""],test_split_nested_attr:[170,3,1,""],test_tag:[170,3,1,""],test_teleport:[170,3,1,""],test_tunnel:[170,3,1,""],test_tunnel_exit_typeclass:[170,3,1,""],test_typeclass:[170,3,1,""]},"evennia.commands.default.tests.TestComms":{setUp:[170,3,1,""],test_all_com:[170,3,1,""],test_cboot:[170,3,1,""],test_cdesc:[170,3,1,""],test_cdestroy:[170,3,1,""],test_clock:[170,3,1,""],test_cwho:[170,3,1,""],test_page:[170,3,1,""],test_toggle_com:[170,3,1,""]},"evennia.commands.default.tests.TestCommsChannel":{setUp:[170,3,1,""],tearDown:[170,3,1,""],test_channel__alias__unalias:[170,3,1,""],test_channel__all:[170,3,1,""],test_channel__ban__unban:[170,3,1,""],test_channel__boot:[170,3,1,""],test_channel__create:[170,3,1,""],test_channel__desc:[170,3,1,""],test_channel__destroy:[170,3,1,""],test_channel__history:[170,3,1,""],test_channel__list:[170,3,1,""],test_channel__lock:[170,3,1,""],test_channel__msg:[170,3,1,""],test_channel__mute:[170,3,1,""],test_channel__noarg:[170,3,1,""],test_channel__sub:[170,3,1,""],test_channel__unlock:[170,3,1,""],test_channel__unmute:[170,3,1,""],test_channel__unsub:[170,3,1,""],test_channel__who:[170,3,1,""]},"evennia.commands.default.tests.TestGeneral":{test_access:[170,3,1,""],test_get_and_drop:[170,3,1,""],test_give:[170,3,1,""],test_home:[170,3,1,""],test_inventory:[170,3,1,""],test_look:[170,3,1,""],test_mux_command:[170,3,1,""],test_nick:[170,3,1,""],test_pose:[170,3,1,""],test_say:[170,3,1,""],test_whisper:[170,3,1,""]},"evennia.commands.default.tests.TestHelp":{maxDiff:[170,4,1,""],setUp:[170,3,1,""],tearDown:[170,3,1,""],test_help:[170,3,1,""],test_set_help:[170,3,1,""],test_subtopic_fetch:[170,4,1,""],test_subtopic_fetch_00_test:[170,3,1,""],test_subtopic_fetch_01_test_creating_extra_stuff:[170,3,1,""],test_subtopic_fetch_02_test_creating:[170,3,1,""],test_subtopic_fetch_03_test_extra:[170,3,1,""],test_subtopic_fetch_04_test_extra_subsubtopic:[170,3,1,""],test_subtopic_fetch_05_test_creating_extra_subsub:[170,3,1,""],test_subtopic_fetch_06_test_Something_else:[170,3,1,""],test_subtopic_fetch_07_test_More:[170,3,1,""],test_subtopic_fetch_08_test_More_Second_more:[170,3,1,""],test_subtopic_fetch_09_test_More_more:[170,3,1,""],test_subtopic_fetch_10_test_more_second_more_again:[170,3,1,""],test_subtopic_fetch_11_test_more_second_third:[170,3,1,""]},"evennia.commands.default.tests.TestInterruptCommand":{test_interrupt_command:[170,3,1,""]},"evennia.commands.default.tests.TestSystem":{test_about:[170,3,1,""],test_objects:[170,3,1,""],test_py:[170,3,1,""],test_scripts:[170,3,1,""],test_server_load:[170,3,1,""]},"evennia.commands.default.tests.TestSystemCommands":{test_multimatch:[170,3,1,""],test_simple_defaults:[170,3,1,""]},"evennia.commands.default.tests.TestUnconnectedCommand":{test_info_command:[170,3,1,""]},"evennia.commands.default.unloggedin":{CmdUnconnectedConnect:[171,1,1,""],CmdUnconnectedCreate:[171,1,1,""],CmdUnconnectedHelp:[171,1,1,""],CmdUnconnectedLook:[171,1,1,""],CmdUnconnectedQuit:[171,1,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedConnect":{aliases:[171,4,1,""],arg_regex:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedCreate":{aliases:[171,4,1,""],arg_regex:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedHelp":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedLook":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedQuit":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.comms":{admin:[173,0,0,"-"],comms:[175,0,0,"-"],managers:[176,0,0,"-"],models:[177,0,0,"-"]},"evennia.comms.admin":{ChannelAdmin:[173,1,1,""],ChannelAttributeInline:[173,1,1,""],ChannelTagInline:[173,1,1,""],MsgAdmin:[173,1,1,""]},"evennia.comms.admin.ChannelAdmin":{fieldsets:[173,4,1,""],inlines:[173,4,1,""],list_display:[173,4,1,""],list_display_links:[173,4,1,""],list_select_related:[173,4,1,""],media:[173,3,1,""],ordering:[173,4,1,""],raw_id_fields:[173,4,1,""],response_add:[173,3,1,""],save_as:[173,4,1,""],save_model:[173,3,1,""],save_on_top:[173,4,1,""],search_fields:[173,4,1,""],subscriptions:[173,3,1,""]},"evennia.comms.admin.ChannelAttributeInline":{media:[173,3,1,""],model:[173,4,1,""],related_field:[173,4,1,""]},"evennia.comms.admin.ChannelTagInline":{media:[173,3,1,""],model:[173,4,1,""],related_field:[173,4,1,""]},"evennia.comms.admin.MsgAdmin":{list_display:[173,4,1,""],list_display_links:[173,4,1,""],list_select_related:[173,4,1,""],media:[173,3,1,""],ordering:[173,4,1,""],save_as:[173,4,1,""],save_on_top:[173,4,1,""],search_fields:[173,4,1,""]},"evennia.comms.comms":{DefaultChannel:[175,1,1,""]},"evennia.comms.comms.DefaultChannel":{"delete":[175,3,1,""],DoesNotExist:[175,2,1,""],MultipleObjectsReturned:[175,2,1,""],access:[175,3,1,""],add_user_channel_alias:[175,3,1,""],at_channel_creation:[175,3,1,""],at_first_save:[175,3,1,""],at_init:[175,3,1,""],at_post_msg:[175,3,1,""],at_pre_msg:[175,3,1,""],ban:[175,3,1,""],banlist:[175,3,1,""],basetype_setup:[175,3,1,""],channel_msg_nick_pattern:[175,4,1,""],channel_msg_nick_replacement:[175,4,1,""],channel_prefix:[175,3,1,""],channel_prefix_string:[175,4,1,""],connect:[175,3,1,""],create:[175,3,1,""],disconnect:[175,3,1,""],distribute_message:[175,3,1,""],format_external:[175,3,1,""],format_message:[175,3,1,""],format_senders:[175,3,1,""],get_absolute_url:[175,3,1,""],get_log_filename:[175,3,1,""],has_connection:[175,3,1,""],log_file:[175,4,1,""],message_transform:[175,3,1,""],msg:[175,3,1,""],mute:[175,3,1,""],mutelist:[175,3,1,""],objects:[175,4,1,""],path:[175,4,1,""],pose_transform:[175,3,1,""],post_join_channel:[175,3,1,""],post_leave_channel:[175,3,1,""],post_send_message:[175,3,1,""],pre_join_channel:[175,3,1,""],pre_leave_channel:[175,3,1,""],pre_send_message:[175,3,1,""],remove_user_channel_alias:[175,3,1,""],send_to_online_only:[175,4,1,""],set_log_filename:[175,3,1,""],typename:[175,4,1,""],unban:[175,3,1,""],unmute:[175,3,1,""],web_get_admin_url:[175,3,1,""],web_get_create_url:[175,3,1,""],web_get_delete_url:[175,3,1,""],web_get_detail_url:[175,3,1,""],web_get_update_url:[175,3,1,""],wholist:[175,3,1,""]},"evennia.comms.managers":{ChannelDBManager:[176,1,1,""],ChannelManager:[176,1,1,""],CommError:[176,2,1,""],MsgManager:[176,1,1,""],identify_object:[176,5,1,""],to_object:[176,5,1,""]},"evennia.comms.managers.ChannelDBManager":{channel_search:[176,3,1,""],get_all_channels:[176,3,1,""],get_channel:[176,3,1,""],get_subscriptions:[176,3,1,""],search_channel:[176,3,1,""]},"evennia.comms.managers.MsgManager":{get_message_by_id:[176,3,1,""],get_messages_by_receiver:[176,3,1,""],get_messages_by_sender:[176,3,1,""],identify_object:[176,3,1,""],message_search:[176,3,1,""],search_message:[176,3,1,""]},"evennia.comms.models":{ChannelDB:[177,1,1,""],Msg:[177,1,1,""],TempMsg:[177,1,1,""]},"evennia.comms.models.ChannelDB":{DoesNotExist:[177,2,1,""],MultipleObjectsReturned:[177,2,1,""],db_account_subscriptions:[177,4,1,""],db_attributes:[177,4,1,""],db_object_subscriptions:[177,4,1,""],db_tags:[177,4,1,""],get_next_by_db_date_created:[177,3,1,""],get_previous_by_db_date_created:[177,3,1,""],id:[177,4,1,""],objects:[177,4,1,""],path:[177,4,1,""],subscriptions:[177,4,1,""],typename:[177,4,1,""]},"evennia.comms.models.Msg":{DoesNotExist:[177,2,1,""],MultipleObjectsReturned:[177,2,1,""],access:[177,3,1,""],date_created:[177,3,1,""],db_date_created:[177,4,1,""],db_header:[177,4,1,""],db_hide_from_accounts:[177,4,1,""],db_hide_from_objects:[177,4,1,""],db_lock_storage:[177,4,1,""],db_message:[177,4,1,""],db_receiver_external:[177,4,1,""],db_receivers_accounts:[177,4,1,""],db_receivers_objects:[177,4,1,""],db_receivers_scripts:[177,4,1,""],db_sender_accounts:[177,4,1,""],db_sender_external:[177,4,1,""],db_sender_objects:[177,4,1,""],db_sender_scripts:[177,4,1,""],db_tags:[177,4,1,""],get_next_by_db_date_created:[177,3,1,""],get_previous_by_db_date_created:[177,3,1,""],header:[177,3,1,""],hide_from:[177,3,1,""],id:[177,4,1,""],lock_storage:[177,3,1,""],locks:[177,4,1,""],message:[177,3,1,""],objects:[177,4,1,""],path:[177,4,1,""],receiver_external:[177,3,1,""],receivers:[177,3,1,""],remove_receiver:[177,3,1,""],remove_sender:[177,3,1,""],sender_external:[177,3,1,""],senders:[177,3,1,""],tags:[177,4,1,""],typename:[177,4,1,""]},"evennia.comms.models.TempMsg":{__init__:[177,3,1,""],access:[177,3,1,""],locks:[177,4,1,""],remove_receiver:[177,3,1,""],remove_sender:[177,3,1,""]},"evennia.contrib":{barter:[179,0,0,"-"],building_menu:[180,0,0,"-"],chargen:[181,0,0,"-"],clothing:[182,0,0,"-"],color_markups:[183,0,0,"-"],custom_gametime:[184,0,0,"-"],dice:[185,0,0,"-"],email_login:[186,0,0,"-"],extended_room:[187,0,0,"-"],fieldfill:[188,0,0,"-"],gendersub:[189,0,0,"-"],health_bar:[190,0,0,"-"],ingame_python:[191,0,0,"-"],mail:[199,0,0,"-"],multidescer:[202,0,0,"-"],puzzles:[203,0,0,"-"],random_string_generator:[204,0,0,"-"],rplanguage:[205,0,0,"-"],rpsystem:[206,0,0,"-"],security:[207,0,0,"-"],simpledoor:[212,0,0,"-"],slow_exit:[213,0,0,"-"],talking_npc:[214,0,0,"-"],tree_select:[215,0,0,"-"],turnbattle:[216,0,0,"-"],tutorial_examples:[222,0,0,"-"],tutorial_world:[229,0,0,"-"],unixcommand:[234,0,0,"-"],wilderness:[235,0,0,"-"]},"evennia.contrib.barter":{CmdAccept:[179,1,1,""],CmdDecline:[179,1,1,""],CmdEvaluate:[179,1,1,""],CmdFinish:[179,1,1,""],CmdOffer:[179,1,1,""],CmdStatus:[179,1,1,""],CmdTrade:[179,1,1,""],CmdTradeBase:[179,1,1,""],CmdTradeHelp:[179,1,1,""],CmdsetTrade:[179,1,1,""],TradeHandler:[179,1,1,""],TradeTimeout:[179,1,1,""]},"evennia.contrib.barter.CmdAccept":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdDecline":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdEvaluate":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdFinish":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdOffer":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdStatus":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTrade":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTradeBase":{aliases:[179,4,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],parse:[179,3,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTradeHelp":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdsetTrade":{at_cmdset_creation:[179,3,1,""],key:[179,4,1,""],path:[179,4,1,""]},"evennia.contrib.barter.TradeHandler":{__init__:[179,3,1,""],accept:[179,3,1,""],decline:[179,3,1,""],finish:[179,3,1,""],get_other:[179,3,1,""],join:[179,3,1,""],list:[179,3,1,""],msg_other:[179,3,1,""],offer:[179,3,1,""],search:[179,3,1,""],unjoin:[179,3,1,""]},"evennia.contrib.barter.TradeTimeout":{DoesNotExist:[179,2,1,""],MultipleObjectsReturned:[179,2,1,""],at_repeat:[179,3,1,""],at_script_creation:[179,3,1,""],is_valid:[179,3,1,""],path:[179,4,1,""],typename:[179,4,1,""]},"evennia.contrib.building_menu":{BuildingMenu:[180,1,1,""],BuildingMenuCmdSet:[180,1,1,""],Choice:[180,1,1,""],CmdNoInput:[180,1,1,""],CmdNoMatch:[180,1,1,""],GenericBuildingCmd:[180,1,1,""],GenericBuildingMenu:[180,1,1,""],menu_edit:[180,5,1,""],menu_quit:[180,5,1,""],menu_setattr:[180,5,1,""]},"evennia.contrib.building_menu.BuildingMenu":{__init__:[180,3,1,""],add_choice:[180,3,1,""],add_choice_edit:[180,3,1,""],add_choice_quit:[180,3,1,""],close:[180,3,1,""],current_choice:[180,3,1,""],display:[180,3,1,""],display_choice:[180,3,1,""],display_title:[180,3,1,""],init:[180,3,1,""],joker_key:[180,4,1,""],keys_go_back:[180,4,1,""],min_shortcut:[180,4,1,""],move:[180,3,1,""],open:[180,3,1,""],open_parent_menu:[180,3,1,""],open_submenu:[180,3,1,""],relevant_choices:[180,3,1,""],restore:[180,3,1,""],sep_keys:[180,4,1,""]},"evennia.contrib.building_menu.BuildingMenuCmdSet":{at_cmdset_creation:[180,3,1,""],key:[180,4,1,""],path:[180,4,1,""],priority:[180,4,1,""]},"evennia.contrib.building_menu.Choice":{__init__:[180,3,1,""],enter:[180,3,1,""],format_text:[180,3,1,""],keys:[180,3,1,""],leave:[180,3,1,""],nomatch:[180,3,1,""]},"evennia.contrib.building_menu.CmdNoInput":{__init__:[180,3,1,""],aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],locks:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.CmdNoMatch":{__init__:[180,3,1,""],aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],locks:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.GenericBuildingCmd":{aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.GenericBuildingMenu":{init:[180,3,1,""]},"evennia.contrib.chargen":{CmdOOCCharacterCreate:[181,1,1,""],CmdOOCLook:[181,1,1,""],OOCCmdSetCharGen:[181,1,1,""]},"evennia.contrib.chargen.CmdOOCCharacterCreate":{aliases:[181,4,1,""],func:[181,3,1,""],help_category:[181,4,1,""],key:[181,4,1,""],lock_storage:[181,4,1,""],locks:[181,4,1,""],search_index_entry:[181,4,1,""]},"evennia.contrib.chargen.CmdOOCLook":{aliases:[181,4,1,""],func:[181,3,1,""],help_category:[181,4,1,""],key:[181,4,1,""],lock_storage:[181,4,1,""],locks:[181,4,1,""],search_index_entry:[181,4,1,""]},"evennia.contrib.chargen.OOCCmdSetCharGen":{at_cmdset_creation:[181,3,1,""],path:[181,4,1,""]},"evennia.contrib.clothing":{ClothedCharacter:[182,1,1,""],ClothedCharacterCmdSet:[182,1,1,""],Clothing:[182,1,1,""],CmdCover:[182,1,1,""],CmdDrop:[182,1,1,""],CmdGive:[182,1,1,""],CmdInventory:[182,1,1,""],CmdRemove:[182,1,1,""],CmdUncover:[182,1,1,""],CmdWear:[182,1,1,""],clothing_type_count:[182,5,1,""],get_worn_clothes:[182,5,1,""],order_clothes_list:[182,5,1,""],single_type_count:[182,5,1,""]},"evennia.contrib.clothing.ClothedCharacter":{DoesNotExist:[182,2,1,""],MultipleObjectsReturned:[182,2,1,""],path:[182,4,1,""],return_appearance:[182,3,1,""],typename:[182,4,1,""]},"evennia.contrib.clothing.ClothedCharacterCmdSet":{at_cmdset_creation:[182,3,1,""],key:[182,4,1,""],path:[182,4,1,""]},"evennia.contrib.clothing.Clothing":{DoesNotExist:[182,2,1,""],MultipleObjectsReturned:[182,2,1,""],at_get:[182,3,1,""],path:[182,4,1,""],remove:[182,3,1,""],typename:[182,4,1,""],wear:[182,3,1,""]},"evennia.contrib.clothing.CmdCover":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdDrop":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdGive":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdInventory":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdRemove":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdUncover":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdWear":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.custom_gametime":{GametimeScript:[184,1,1,""],custom_gametime:[184,5,1,""],gametime_to_realtime:[184,5,1,""],real_seconds_until:[184,5,1,""],realtime_to_gametime:[184,5,1,""],schedule:[184,5,1,""],time_to_tuple:[184,5,1,""]},"evennia.contrib.custom_gametime.GametimeScript":{DoesNotExist:[184,2,1,""],MultipleObjectsReturned:[184,2,1,""],at_repeat:[184,3,1,""],at_script_creation:[184,3,1,""],path:[184,4,1,""],typename:[184,4,1,""]},"evennia.contrib.dice":{CmdDice:[185,1,1,""],DiceCmdSet:[185,1,1,""],roll_dice:[185,5,1,""]},"evennia.contrib.dice.CmdDice":{aliases:[185,4,1,""],func:[185,3,1,""],help_category:[185,4,1,""],key:[185,4,1,""],lock_storage:[185,4,1,""],locks:[185,4,1,""],search_index_entry:[185,4,1,""]},"evennia.contrib.dice.DiceCmdSet":{at_cmdset_creation:[185,3,1,""],path:[185,4,1,""]},"evennia.contrib.email_login":{CmdUnconnectedConnect:[186,1,1,""],CmdUnconnectedCreate:[186,1,1,""],CmdUnconnectedHelp:[186,1,1,""],CmdUnconnectedLook:[186,1,1,""],CmdUnconnectedQuit:[186,1,1,""]},"evennia.contrib.email_login.CmdUnconnectedConnect":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedCreate":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],parse:[186,3,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedHelp":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedLook":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedQuit":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.extended_room":{CmdExtendedRoomDesc:[187,1,1,""],CmdExtendedRoomDetail:[187,1,1,""],CmdExtendedRoomGameTime:[187,1,1,""],CmdExtendedRoomLook:[187,1,1,""],ExtendedRoom:[187,1,1,""],ExtendedRoomCmdSet:[187,1,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomDesc":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],reset_times:[187,3,1,""],search_index_entry:[187,4,1,""],switch_options:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomDetail":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],locks:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomGameTime":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],locks:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomLook":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.ExtendedRoom":{DoesNotExist:[187,2,1,""],MultipleObjectsReturned:[187,2,1,""],at_object_creation:[187,3,1,""],del_detail:[187,3,1,""],get_time_and_season:[187,3,1,""],path:[187,4,1,""],replace_timeslots:[187,3,1,""],return_appearance:[187,3,1,""],return_detail:[187,3,1,""],set_detail:[187,3,1,""],typename:[187,4,1,""],update_current_description:[187,3,1,""]},"evennia.contrib.extended_room.ExtendedRoomCmdSet":{at_cmdset_creation:[187,3,1,""],path:[187,4,1,""]},"evennia.contrib.fieldfill":{CmdTestMenu:[188,1,1,""],FieldEvMenu:[188,1,1,""],display_formdata:[188,5,1,""],form_template_to_dict:[188,5,1,""],init_delayed_message:[188,5,1,""],init_fill_field:[188,5,1,""],menunode_fieldfill:[188,5,1,""],sendmessage:[188,5,1,""],verify_online_player:[188,5,1,""]},"evennia.contrib.fieldfill.CmdTestMenu":{aliases:[188,4,1,""],func:[188,3,1,""],help_category:[188,4,1,""],key:[188,4,1,""],lock_storage:[188,4,1,""],search_index_entry:[188,4,1,""]},"evennia.contrib.fieldfill.FieldEvMenu":{node_formatter:[188,3,1,""]},"evennia.contrib.gendersub":{GenderCharacter:[189,1,1,""],SetGender:[189,1,1,""]},"evennia.contrib.gendersub.GenderCharacter":{DoesNotExist:[189,2,1,""],MultipleObjectsReturned:[189,2,1,""],at_object_creation:[189,3,1,""],msg:[189,3,1,""],path:[189,4,1,""],typename:[189,4,1,""]},"evennia.contrib.gendersub.SetGender":{aliases:[189,4,1,""],func:[189,3,1,""],help_category:[189,4,1,""],key:[189,4,1,""],lock_storage:[189,4,1,""],locks:[189,4,1,""],search_index_entry:[189,4,1,""]},"evennia.contrib.health_bar":{display_meter:[190,5,1,""]},"evennia.contrib.ingame_python":{callbackhandler:[192,0,0,"-"],commands:[193,0,0,"-"],eventfuncs:[194,0,0,"-"],scripts:[195,0,0,"-"],tests:[196,0,0,"-"],utils:[198,0,0,"-"]},"evennia.contrib.ingame_python.callbackhandler":{Callback:[192,1,1,""],CallbackHandler:[192,1,1,""]},"evennia.contrib.ingame_python.callbackhandler.Callback":{author:[192,4,1,""],code:[192,4,1,""],created_on:[192,4,1,""],name:[192,4,1,""],number:[192,4,1,""],obj:[192,4,1,""],parameters:[192,4,1,""],updated_by:[192,4,1,""],updated_on:[192,4,1,""],valid:[192,4,1,""]},"evennia.contrib.ingame_python.callbackhandler.CallbackHandler":{__init__:[192,3,1,""],add:[192,3,1,""],all:[192,3,1,""],call:[192,3,1,""],edit:[192,3,1,""],format_callback:[192,3,1,""],get:[192,3,1,""],get_variable:[192,3,1,""],remove:[192,3,1,""],script:[192,4,1,""]},"evennia.contrib.ingame_python.commands":{CmdCallback:[193,1,1,""]},"evennia.contrib.ingame_python.commands.CmdCallback":{accept_callback:[193,3,1,""],add_callback:[193,3,1,""],aliases:[193,4,1,""],del_callback:[193,3,1,""],edit_callback:[193,3,1,""],func:[193,3,1,""],get_help:[193,3,1,""],help_category:[193,4,1,""],key:[193,4,1,""],list_callbacks:[193,3,1,""],list_tasks:[193,3,1,""],lock_storage:[193,4,1,""],locks:[193,4,1,""],search_index_entry:[193,4,1,""]},"evennia.contrib.ingame_python.eventfuncs":{call_event:[194,5,1,""],deny:[194,5,1,""],get:[194,5,1,""]},"evennia.contrib.ingame_python.scripts":{EventHandler:[195,1,1,""],TimeEventScript:[195,1,1,""],complete_task:[195,5,1,""]},"evennia.contrib.ingame_python.scripts.EventHandler":{DoesNotExist:[195,2,1,""],MultipleObjectsReturned:[195,2,1,""],accept_callback:[195,3,1,""],add_callback:[195,3,1,""],add_event:[195,3,1,""],at_script_creation:[195,3,1,""],at_server_start:[195,3,1,""],call:[195,3,1,""],del_callback:[195,3,1,""],edit_callback:[195,3,1,""],get_callbacks:[195,3,1,""],get_events:[195,3,1,""],get_variable:[195,3,1,""],handle_error:[195,3,1,""],path:[195,4,1,""],set_task:[195,3,1,""],typename:[195,4,1,""]},"evennia.contrib.ingame_python.scripts.TimeEventScript":{DoesNotExist:[195,2,1,""],MultipleObjectsReturned:[195,2,1,""],at_repeat:[195,3,1,""],at_script_creation:[195,3,1,""],path:[195,4,1,""],typename:[195,4,1,""]},"evennia.contrib.ingame_python.tests":{TestCmdCallback:[196,1,1,""],TestDefaultCallbacks:[196,1,1,""],TestEventHandler:[196,1,1,""]},"evennia.contrib.ingame_python.tests.TestCmdCallback":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_accept:[196,3,1,""],test_add:[196,3,1,""],test_del:[196,3,1,""],test_list:[196,3,1,""],test_lock:[196,3,1,""]},"evennia.contrib.ingame_python.tests.TestDefaultCallbacks":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_exit:[196,3,1,""]},"evennia.contrib.ingame_python.tests.TestEventHandler":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_accept:[196,3,1,""],test_add_validation:[196,3,1,""],test_call:[196,3,1,""],test_del:[196,3,1,""],test_edit:[196,3,1,""],test_edit_validation:[196,3,1,""],test_handler:[196,3,1,""],test_start:[196,3,1,""]},"evennia.contrib.ingame_python.utils":{InterruptEvent:[198,2,1,""],get_event_handler:[198,5,1,""],get_next_wait:[198,5,1,""],keyword_event:[198,5,1,""],phrase_event:[198,5,1,""],register_events:[198,5,1,""],time_event:[198,5,1,""]},"evennia.contrib.mail":{CmdMail:[199,1,1,""],CmdMailCharacter:[199,1,1,""]},"evennia.contrib.mail.CmdMail":{aliases:[199,4,1,""],func:[199,3,1,""],get_all_mail:[199,3,1,""],help_category:[199,4,1,""],key:[199,4,1,""],lock:[199,4,1,""],lock_storage:[199,4,1,""],parse:[199,3,1,""],search_index_entry:[199,4,1,""],search_targets:[199,3,1,""],send_mail:[199,3,1,""]},"evennia.contrib.mail.CmdMailCharacter":{account_caller:[199,4,1,""],aliases:[199,4,1,""],help_category:[199,4,1,""],key:[199,4,1,""],lock_storage:[199,4,1,""],search_index_entry:[199,4,1,""]},"evennia.contrib.multidescer":{CmdMultiDesc:[202,1,1,""],DescValidateError:[202,2,1,""]},"evennia.contrib.multidescer.CmdMultiDesc":{aliases:[202,4,1,""],func:[202,3,1,""],help_category:[202,4,1,""],key:[202,4,1,""],lock_storage:[202,4,1,""],locks:[202,4,1,""],search_index_entry:[202,4,1,""]},"evennia.contrib.puzzles":{CmdArmPuzzle:[203,1,1,""],CmdCreatePuzzleRecipe:[203,1,1,""],CmdEditPuzzle:[203,1,1,""],CmdListArmedPuzzles:[203,1,1,""],CmdListPuzzleRecipes:[203,1,1,""],CmdUsePuzzleParts:[203,1,1,""],PuzzleRecipe:[203,1,1,""],PuzzleSystemCmdSet:[203,1,1,""],maskout_protodef:[203,5,1,""],proto_def:[203,5,1,""]},"evennia.contrib.puzzles.CmdArmPuzzle":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdCreatePuzzleRecipe":{aliases:[203,4,1,""],confirm:[203,4,1,""],default_confirm:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdEditPuzzle":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdListArmedPuzzles":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdListPuzzleRecipes":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdUsePuzzleParts":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.PuzzleRecipe":{DoesNotExist:[203,2,1,""],MultipleObjectsReturned:[203,2,1,""],path:[203,4,1,""],save_recipe:[203,3,1,""],typename:[203,4,1,""]},"evennia.contrib.puzzles.PuzzleSystemCmdSet":{at_cmdset_creation:[203,3,1,""],path:[203,4,1,""]},"evennia.contrib.random_string_generator":{ExhaustedGenerator:[204,2,1,""],RandomStringGenerator:[204,1,1,""],RandomStringGeneratorScript:[204,1,1,""],RejectedRegex:[204,2,1,""]},"evennia.contrib.random_string_generator.RandomStringGenerator":{__init__:[204,3,1,""],all:[204,3,1,""],clear:[204,3,1,""],get:[204,3,1,""],remove:[204,3,1,""],script:[204,4,1,""]},"evennia.contrib.random_string_generator.RandomStringGeneratorScript":{DoesNotExist:[204,2,1,""],MultipleObjectsReturned:[204,2,1,""],at_script_creation:[204,3,1,""],path:[204,4,1,""],typename:[204,4,1,""]},"evennia.contrib.rplanguage":{LanguageError:[205,2,1,""],LanguageExistsError:[205,2,1,""],LanguageHandler:[205,1,1,""],add_language:[205,5,1,""],available_languages:[205,5,1,""],obfuscate_language:[205,5,1,""],obfuscate_whisper:[205,5,1,""]},"evennia.contrib.rplanguage.LanguageHandler":{DoesNotExist:[205,2,1,""],MultipleObjectsReturned:[205,2,1,""],add:[205,3,1,""],at_script_creation:[205,3,1,""],path:[205,4,1,""],translate:[205,3,1,""],typename:[205,4,1,""]},"evennia.contrib.rpsystem":{CmdEmote:[206,1,1,""],CmdMask:[206,1,1,""],CmdPose:[206,1,1,""],CmdRecog:[206,1,1,""],CmdSay:[206,1,1,""],CmdSdesc:[206,1,1,""],ContribRPCharacter:[206,1,1,""],ContribRPObject:[206,1,1,""],ContribRPRoom:[206,1,1,""],EmoteError:[206,2,1,""],LanguageError:[206,2,1,""],RPCommand:[206,1,1,""],RPSystemCmdSet:[206,1,1,""],RecogError:[206,2,1,""],RecogHandler:[206,1,1,""],SdescError:[206,2,1,""],SdescHandler:[206,1,1,""],ordered_permutation_regex:[206,5,1,""],parse_language:[206,5,1,""],parse_sdescs_and_recogs:[206,5,1,""],regex_tuple_from_key_alias:[206,5,1,""],send_emote:[206,5,1,""]},"evennia.contrib.rpsystem.CmdEmote":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdMask":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdPose":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdRecog":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdSay":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdSdesc":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPCharacter":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],at_before_say:[206,3,1,""],at_object_creation:[206,3,1,""],get_display_name:[206,3,1,""],path:[206,4,1,""],process_language:[206,3,1,""],process_recog:[206,3,1,""],process_sdesc:[206,3,1,""],recog:[206,4,1,""],sdesc:[206,4,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPObject":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],at_object_creation:[206,3,1,""],get_display_name:[206,3,1,""],path:[206,4,1,""],return_appearance:[206,3,1,""],search:[206,3,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPRoom":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],path:[206,4,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.RPCommand":{aliases:[206,4,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.RPSystemCmdSet":{at_cmdset_creation:[206,3,1,""],path:[206,4,1,""]},"evennia.contrib.rpsystem.RecogHandler":{__init__:[206,3,1,""],add:[206,3,1,""],all:[206,3,1,""],get:[206,3,1,""],get_regex_tuple:[206,3,1,""],remove:[206,3,1,""]},"evennia.contrib.rpsystem.SdescHandler":{__init__:[206,3,1,""],add:[206,3,1,""],get:[206,3,1,""],get_regex_tuple:[206,3,1,""]},"evennia.contrib.security":{auditing:[208,0,0,"-"]},"evennia.contrib.security.auditing":{outputs:[209,0,0,"-"],server:[210,0,0,"-"],tests:[211,0,0,"-"]},"evennia.contrib.security.auditing.outputs":{to_file:[209,5,1,""],to_syslog:[209,5,1,""]},"evennia.contrib.security.auditing.server":{AuditedServerSession:[210,1,1,""]},"evennia.contrib.security.auditing.server.AuditedServerSession":{audit:[210,3,1,""],data_in:[210,3,1,""],data_out:[210,3,1,""],mask:[210,3,1,""]},"evennia.contrib.security.auditing.tests":{AuditingTest:[211,1,1,""]},"evennia.contrib.security.auditing.tests.AuditingTest":{test_audit:[211,3,1,""],test_mask:[211,3,1,""]},"evennia.contrib.simpledoor":{CmdOpen:[212,1,1,""],CmdOpenCloseDoor:[212,1,1,""],SimpleDoor:[212,1,1,""]},"evennia.contrib.simpledoor.CmdOpen":{aliases:[212,4,1,""],create_exit:[212,3,1,""],help_category:[212,4,1,""],key:[212,4,1,""],lock_storage:[212,4,1,""],search_index_entry:[212,4,1,""]},"evennia.contrib.simpledoor.CmdOpenCloseDoor":{aliases:[212,4,1,""],func:[212,3,1,""],help_category:[212,4,1,""],key:[212,4,1,""],lock_storage:[212,4,1,""],locks:[212,4,1,""],search_index_entry:[212,4,1,""]},"evennia.contrib.simpledoor.SimpleDoor":{"delete":[212,3,1,""],DoesNotExist:[212,2,1,""],MultipleObjectsReturned:[212,2,1,""],at_failed_traverse:[212,3,1,""],at_object_creation:[212,3,1,""],path:[212,4,1,""],setdesc:[212,3,1,""],setlock:[212,3,1,""],typename:[212,4,1,""]},"evennia.contrib.slow_exit":{CmdSetSpeed:[213,1,1,""],CmdStop:[213,1,1,""],SlowExit:[213,1,1,""]},"evennia.contrib.slow_exit.CmdSetSpeed":{aliases:[213,4,1,""],func:[213,3,1,""],help_category:[213,4,1,""],key:[213,4,1,""],lock_storage:[213,4,1,""],search_index_entry:[213,4,1,""]},"evennia.contrib.slow_exit.CmdStop":{aliases:[213,4,1,""],func:[213,3,1,""],help_category:[213,4,1,""],key:[213,4,1,""],lock_storage:[213,4,1,""],search_index_entry:[213,4,1,""]},"evennia.contrib.slow_exit.SlowExit":{DoesNotExist:[213,2,1,""],MultipleObjectsReturned:[213,2,1,""],at_traverse:[213,3,1,""],path:[213,4,1,""],typename:[213,4,1,""]},"evennia.contrib.talking_npc":{CmdTalk:[214,1,1,""],END:[214,5,1,""],TalkingCmdSet:[214,1,1,""],TalkingNPC:[214,1,1,""],info1:[214,5,1,""],info2:[214,5,1,""],info3:[214,5,1,""],menu_start_node:[214,5,1,""]},"evennia.contrib.talking_npc.CmdTalk":{aliases:[214,4,1,""],func:[214,3,1,""],help_category:[214,4,1,""],key:[214,4,1,""],lock_storage:[214,4,1,""],locks:[214,4,1,""],search_index_entry:[214,4,1,""]},"evennia.contrib.talking_npc.TalkingCmdSet":{at_cmdset_creation:[214,3,1,""],key:[214,4,1,""],path:[214,4,1,""]},"evennia.contrib.talking_npc.TalkingNPC":{DoesNotExist:[214,2,1,""],MultipleObjectsReturned:[214,2,1,""],at_object_creation:[214,3,1,""],path:[214,4,1,""],typename:[214,4,1,""]},"evennia.contrib.tree_select":{CmdNameColor:[215,1,1,""],change_name_color:[215,5,1,""],dashcount:[215,5,1,""],go_up_one_category:[215,5,1,""],index_to_selection:[215,5,1,""],init_tree_selection:[215,5,1,""],is_category:[215,5,1,""],menunode_treeselect:[215,5,1,""],optlist_to_menuoptions:[215,5,1,""],parse_opts:[215,5,1,""]},"evennia.contrib.tree_select.CmdNameColor":{aliases:[215,4,1,""],func:[215,3,1,""],help_category:[215,4,1,""],key:[215,4,1,""],lock_storage:[215,4,1,""],search_index_entry:[215,4,1,""]},"evennia.contrib.turnbattle":{tb_basic:[217,0,0,"-"],tb_equip:[218,0,0,"-"],tb_items:[219,0,0,"-"],tb_magic:[220,0,0,"-"],tb_range:[221,0,0,"-"]},"evennia.contrib.turnbattle.tb_basic":{ACTIONS_PER_TURN:[217,6,1,""],BattleCmdSet:[217,1,1,""],CmdAttack:[217,1,1,""],CmdCombatHelp:[217,1,1,""],CmdDisengage:[217,1,1,""],CmdFight:[217,1,1,""],CmdPass:[217,1,1,""],CmdRest:[217,1,1,""],TBBasicCharacter:[217,1,1,""],TBBasicTurnHandler:[217,1,1,""],apply_damage:[217,5,1,""],at_defeat:[217,5,1,""],combat_cleanup:[217,5,1,""],get_attack:[217,5,1,""],get_damage:[217,5,1,""],get_defense:[217,5,1,""],is_in_combat:[217,5,1,""],is_turn:[217,5,1,""],resolve_attack:[217,5,1,""],roll_init:[217,5,1,""],spend_action:[217,5,1,""]},"evennia.contrib.turnbattle.tb_basic.BattleCmdSet":{at_cmdset_creation:[217,3,1,""],key:[217,4,1,""],path:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdAttack":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdCombatHelp":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdDisengage":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdFight":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdPass":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdRest":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.TBBasicCharacter":{DoesNotExist:[217,2,1,""],MultipleObjectsReturned:[217,2,1,""],at_before_move:[217,3,1,""],at_object_creation:[217,3,1,""],path:[217,4,1,""],typename:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.TBBasicTurnHandler":{DoesNotExist:[217,2,1,""],MultipleObjectsReturned:[217,2,1,""],at_repeat:[217,3,1,""],at_script_creation:[217,3,1,""],at_stop:[217,3,1,""],initialize_for_combat:[217,3,1,""],join_fight:[217,3,1,""],next_turn:[217,3,1,""],path:[217,4,1,""],start_turn:[217,3,1,""],turn_end_check:[217,3,1,""],typename:[217,4,1,""]},"evennia.contrib.turnbattle.tb_equip":{ACTIONS_PER_TURN:[218,6,1,""],BattleCmdSet:[218,1,1,""],CmdAttack:[218,1,1,""],CmdCombatHelp:[218,1,1,""],CmdDisengage:[218,1,1,""],CmdDoff:[218,1,1,""],CmdDon:[218,1,1,""],CmdFight:[218,1,1,""],CmdPass:[218,1,1,""],CmdRest:[218,1,1,""],CmdUnwield:[218,1,1,""],CmdWield:[218,1,1,""],TBEArmor:[218,1,1,""],TBEWeapon:[218,1,1,""],TBEquipCharacter:[218,1,1,""],TBEquipTurnHandler:[218,1,1,""],apply_damage:[218,5,1,""],at_defeat:[218,5,1,""],combat_cleanup:[218,5,1,""],get_attack:[218,5,1,""],get_damage:[218,5,1,""],get_defense:[218,5,1,""],is_in_combat:[218,5,1,""],is_turn:[218,5,1,""],resolve_attack:[218,5,1,""],roll_init:[218,5,1,""],spend_action:[218,5,1,""]},"evennia.contrib.turnbattle.tb_equip.BattleCmdSet":{at_cmdset_creation:[218,3,1,""],key:[218,4,1,""],path:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdAttack":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdCombatHelp":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDisengage":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDoff":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDon":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdFight":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdPass":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdRest":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdUnwield":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdWield":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEArmor":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_before_drop:[218,3,1,""],at_before_give:[218,3,1,""],at_drop:[218,3,1,""],at_give:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEWeapon":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_drop:[218,3,1,""],at_give:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEquipCharacter":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_before_move:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEquipTurnHandler":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_repeat:[218,3,1,""],at_script_creation:[218,3,1,""],at_stop:[218,3,1,""],initialize_for_combat:[218,3,1,""],join_fight:[218,3,1,""],next_turn:[218,3,1,""],path:[218,4,1,""],start_turn:[218,3,1,""],turn_end_check:[218,3,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_items":{BattleCmdSet:[219,1,1,""],CmdAttack:[219,1,1,""],CmdCombatHelp:[219,1,1,""],CmdDisengage:[219,1,1,""],CmdFight:[219,1,1,""],CmdPass:[219,1,1,""],CmdRest:[219,1,1,""],CmdUse:[219,1,1,""],DEF_DOWN_MOD:[219,6,1,""],ITEMFUNCS:[219,6,1,""],TBItemsCharacter:[219,1,1,""],TBItemsCharacterTest:[219,1,1,""],TBItemsTurnHandler:[219,1,1,""],add_condition:[219,5,1,""],apply_damage:[219,5,1,""],at_defeat:[219,5,1,""],combat_cleanup:[219,5,1,""],condition_tickdown:[219,5,1,""],get_attack:[219,5,1,""],get_damage:[219,5,1,""],get_defense:[219,5,1,""],is_in_combat:[219,5,1,""],is_turn:[219,5,1,""],itemfunc_add_condition:[219,5,1,""],itemfunc_attack:[219,5,1,""],itemfunc_cure_condition:[219,5,1,""],itemfunc_heal:[219,5,1,""],resolve_attack:[219,5,1,""],roll_init:[219,5,1,""],spend_action:[219,5,1,""],spend_item_use:[219,5,1,""],use_item:[219,5,1,""]},"evennia.contrib.turnbattle.tb_items.BattleCmdSet":{at_cmdset_creation:[219,3,1,""],key:[219,4,1,""],path:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdAttack":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdCombatHelp":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdDisengage":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdFight":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdPass":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdRest":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdUse":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsCharacter":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],apply_turn_conditions:[219,3,1,""],at_before_move:[219,3,1,""],at_object_creation:[219,3,1,""],at_turn_start:[219,3,1,""],at_update:[219,3,1,""],path:[219,4,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],at_object_creation:[219,3,1,""],path:[219,4,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],at_repeat:[219,3,1,""],at_script_creation:[219,3,1,""],at_stop:[219,3,1,""],initialize_for_combat:[219,3,1,""],join_fight:[219,3,1,""],next_turn:[219,3,1,""],path:[219,4,1,""],start_turn:[219,3,1,""],turn_end_check:[219,3,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_magic":{ACTIONS_PER_TURN:[220,6,1,""],BattleCmdSet:[220,1,1,""],CmdAttack:[220,1,1,""],CmdCast:[220,1,1,""],CmdCombatHelp:[220,1,1,""],CmdDisengage:[220,1,1,""],CmdFight:[220,1,1,""],CmdLearnSpell:[220,1,1,""],CmdPass:[220,1,1,""],CmdRest:[220,1,1,""],CmdStatus:[220,1,1,""],TBMagicCharacter:[220,1,1,""],TBMagicTurnHandler:[220,1,1,""],apply_damage:[220,5,1,""],at_defeat:[220,5,1,""],combat_cleanup:[220,5,1,""],get_attack:[220,5,1,""],get_damage:[220,5,1,""],get_defense:[220,5,1,""],is_in_combat:[220,5,1,""],is_turn:[220,5,1,""],resolve_attack:[220,5,1,""],roll_init:[220,5,1,""],spell_attack:[220,5,1,""],spell_conjure:[220,5,1,""],spell_healing:[220,5,1,""],spend_action:[220,5,1,""]},"evennia.contrib.turnbattle.tb_magic.BattleCmdSet":{at_cmdset_creation:[220,3,1,""],key:[220,4,1,""],path:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdAttack":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdCast":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdCombatHelp":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdDisengage":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdFight":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdLearnSpell":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdPass":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdRest":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdStatus":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.TBMagicCharacter":{DoesNotExist:[220,2,1,""],MultipleObjectsReturned:[220,2,1,""],at_before_move:[220,3,1,""],at_object_creation:[220,3,1,""],path:[220,4,1,""],typename:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.TBMagicTurnHandler":{DoesNotExist:[220,2,1,""],MultipleObjectsReturned:[220,2,1,""],at_repeat:[220,3,1,""],at_script_creation:[220,3,1,""],at_stop:[220,3,1,""],initialize_for_combat:[220,3,1,""],join_fight:[220,3,1,""],next_turn:[220,3,1,""],path:[220,4,1,""],start_turn:[220,3,1,""],turn_end_check:[220,3,1,""],typename:[220,4,1,""]},"evennia.contrib.turnbattle.tb_range":{ACTIONS_PER_TURN:[221,6,1,""],BattleCmdSet:[221,1,1,""],CmdApproach:[221,1,1,""],CmdAttack:[221,1,1,""],CmdCombatHelp:[221,1,1,""],CmdDisengage:[221,1,1,""],CmdFight:[221,1,1,""],CmdPass:[221,1,1,""],CmdRest:[221,1,1,""],CmdShoot:[221,1,1,""],CmdStatus:[221,1,1,""],CmdWithdraw:[221,1,1,""],TBRangeCharacter:[221,1,1,""],TBRangeObject:[221,1,1,""],TBRangeTurnHandler:[221,1,1,""],apply_damage:[221,5,1,""],approach:[221,5,1,""],at_defeat:[221,5,1,""],combat_cleanup:[221,5,1,""],combat_status_message:[221,5,1,""],distance_inc:[221,5,1,""],get_attack:[221,5,1,""],get_damage:[221,5,1,""],get_defense:[221,5,1,""],get_range:[221,5,1,""],is_in_combat:[221,5,1,""],is_turn:[221,5,1,""],resolve_attack:[221,5,1,""],roll_init:[221,5,1,""],spend_action:[221,5,1,""],withdraw:[221,5,1,""]},"evennia.contrib.turnbattle.tb_range.BattleCmdSet":{at_cmdset_creation:[221,3,1,""],key:[221,4,1,""],path:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdApproach":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdAttack":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdCombatHelp":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdDisengage":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdFight":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdPass":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdRest":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdShoot":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdStatus":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdWithdraw":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeCharacter":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_before_move:[221,3,1,""],at_object_creation:[221,3,1,""],path:[221,4,1,""],typename:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeObject":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_before_drop:[221,3,1,""],at_before_get:[221,3,1,""],at_before_give:[221,3,1,""],at_drop:[221,3,1,""],at_get:[221,3,1,""],at_give:[221,3,1,""],path:[221,4,1,""],typename:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeTurnHandler":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_repeat:[221,3,1,""],at_script_creation:[221,3,1,""],at_stop:[221,3,1,""],init_range:[221,3,1,""],initialize_for_combat:[221,3,1,""],join_fight:[221,3,1,""],join_rangefield:[221,3,1,""],next_turn:[221,3,1,""],path:[221,4,1,""],start_turn:[221,3,1,""],turn_end_check:[221,3,1,""],typename:[221,4,1,""]},"evennia.contrib.tutorial_examples":{bodyfunctions:[223,0,0,"-"],red_button:[226,0,0,"-"],tests:[228,0,0,"-"]},"evennia.contrib.tutorial_examples.bodyfunctions":{BodyFunctions:[223,1,1,""]},"evennia.contrib.tutorial_examples.bodyfunctions.BodyFunctions":{DoesNotExist:[223,2,1,""],MultipleObjectsReturned:[223,2,1,""],at_repeat:[223,3,1,""],at_script_creation:[223,3,1,""],path:[223,4,1,""],send_random_message:[223,3,1,""],typename:[223,4,1,""]},"evennia.contrib.tutorial_examples.red_button":{BlindCmdSet:[226,1,1,""],CmdBlindHelp:[226,1,1,""],CmdBlindLook:[226,1,1,""],CmdCloseLid:[226,1,1,""],CmdNudge:[226,1,1,""],CmdOpenLid:[226,1,1,""],CmdPushLidClosed:[226,1,1,""],CmdPushLidOpen:[226,1,1,""],CmdSmashGlass:[226,1,1,""],LidClosedCmdSet:[226,1,1,""],LidOpenCmdSet:[226,1,1,""],RedButton:[226,1,1,""]},"evennia.contrib.tutorial_examples.red_button.BlindCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],mergetype:[226,4,1,""],no_exits:[226,4,1,""],no_objs:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdBlindHelp":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdBlindLook":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdCloseLid":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdNudge":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdOpenLid":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdSmashGlass":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.LidClosedCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.LidOpenCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.RedButton":{DoesNotExist:[226,2,1,""],MultipleObjectsReturned:[226,2,1,""],at_object_creation:[226,3,1,""],auto_close_msg:[226,4,1,""],blind_target:[226,3,1,""],blink_msgs:[226,4,1,""],break_lamp:[226,3,1,""],desc_add_lamp_broken:[226,4,1,""],desc_closed_lid:[226,4,1,""],desc_open_lid:[226,4,1,""],lamp_breaks_msg:[226,4,1,""],path:[226,4,1,""],to_closed_state:[226,3,1,""],to_open_state:[226,3,1,""],typename:[226,4,1,""]},"evennia.contrib.tutorial_examples.tests":{TestBodyFunctions:[228,1,1,""]},"evennia.contrib.tutorial_examples.tests.TestBodyFunctions":{script_typeclass:[228,4,1,""],setUp:[228,3,1,""],tearDown:[228,3,1,""],test_at_repeat:[228,3,1,""],test_send_random_message:[228,3,1,""]},"evennia.contrib.tutorial_world":{intro_menu:[230,0,0,"-"],mob:[231,0,0,"-"],objects:[232,0,0,"-"],rooms:[233,0,0,"-"]},"evennia.contrib.tutorial_world.intro_menu":{DemoCommandSetComms:[230,1,1,""],DemoCommandSetHelp:[230,1,1,""],DemoCommandSetRoom:[230,1,1,""],TutorialEvMenu:[230,1,1,""],do_nothing:[230,5,1,""],goto_cleanup_cmdsets:[230,5,1,""],goto_command_demo_comms:[230,5,1,""],goto_command_demo_help:[230,5,1,""],goto_command_demo_room:[230,5,1,""],init_menu:[230,5,1,""],send_testing_tagged:[230,5,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetComms":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],no_exits:[230,4,1,""],no_objs:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetHelp":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetRoom":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],no_exits:[230,4,1,""],no_objs:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.TutorialEvMenu":{close_menu:[230,3,1,""],options_formatter:[230,3,1,""]},"evennia.contrib.tutorial_world.mob":{CmdMobOnOff:[231,1,1,""],Mob:[231,1,1,""],MobCmdSet:[231,1,1,""]},"evennia.contrib.tutorial_world.mob.CmdMobOnOff":{aliases:[231,4,1,""],func:[231,3,1,""],help_category:[231,4,1,""],key:[231,4,1,""],lock_storage:[231,4,1,""],locks:[231,4,1,""],search_index_entry:[231,4,1,""]},"evennia.contrib.tutorial_world.mob.Mob":{DoesNotExist:[231,2,1,""],MultipleObjectsReturned:[231,2,1,""],at_hit:[231,3,1,""],at_init:[231,3,1,""],at_new_arrival:[231,3,1,""],at_object_creation:[231,3,1,""],do_attack:[231,3,1,""],do_hunting:[231,3,1,""],do_patrol:[231,3,1,""],path:[231,4,1,""],set_alive:[231,3,1,""],set_dead:[231,3,1,""],start_attacking:[231,3,1,""],start_hunting:[231,3,1,""],start_idle:[231,3,1,""],start_patrolling:[231,3,1,""],typename:[231,4,1,""]},"evennia.contrib.tutorial_world.mob.MobCmdSet":{at_cmdset_creation:[231,3,1,""],path:[231,4,1,""]},"evennia.contrib.tutorial_world.objects":{CmdAttack:[232,1,1,""],CmdClimb:[232,1,1,""],CmdGetWeapon:[232,1,1,""],CmdLight:[232,1,1,""],CmdPressButton:[232,1,1,""],CmdRead:[232,1,1,""],CmdSetClimbable:[232,1,1,""],CmdSetCrumblingWall:[232,1,1,""],CmdSetLight:[232,1,1,""],CmdSetReadable:[232,1,1,""],CmdSetWeapon:[232,1,1,""],CmdSetWeaponRack:[232,1,1,""],CmdShiftRoot:[232,1,1,""],CrumblingWall:[232,1,1,""],LightSource:[232,1,1,""],Obelisk:[232,1,1,""],TutorialClimbable:[232,1,1,""],TutorialObject:[232,1,1,""],TutorialReadable:[232,1,1,""],TutorialWeapon:[232,1,1,""],TutorialWeaponRack:[232,1,1,""]},"evennia.contrib.tutorial_world.objects.CmdAttack":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdClimb":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdGetWeapon":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdLight":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdPressButton":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdRead":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetClimbable":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetCrumblingWall":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""],priority:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetLight":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""],priority:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetReadable":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetWeapon":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetWeaponRack":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdShiftRoot":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],parse:[232,3,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CrumblingWall":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_after_traverse:[232,3,1,""],at_failed_traverse:[232,3,1,""],at_init:[232,3,1,""],at_object_creation:[232,3,1,""],open_wall:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],return_appearance:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.LightSource":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_init:[232,3,1,""],at_object_creation:[232,3,1,""],light:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.Obelisk":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],return_appearance:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialClimbable":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialObject":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialReadable":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialWeapon":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialWeaponRack":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],produce_weapon:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.rooms":{BridgeCmdSet:[233,1,1,""],BridgeRoom:[233,1,1,""],CmdBridgeHelp:[233,1,1,""],CmdDarkHelp:[233,1,1,""],CmdDarkNoMatch:[233,1,1,""],CmdEast:[233,1,1,""],CmdEvenniaIntro:[233,1,1,""],CmdLookBridge:[233,1,1,""],CmdLookDark:[233,1,1,""],CmdSetEvenniaIntro:[233,1,1,""],CmdTutorial:[233,1,1,""],CmdTutorialGiveUp:[233,1,1,""],CmdTutorialLook:[233,1,1,""],CmdTutorialSetDetail:[233,1,1,""],CmdWest:[233,1,1,""],DarkCmdSet:[233,1,1,""],DarkRoom:[233,1,1,""],IntroRoom:[233,1,1,""],OutroRoom:[233,1,1,""],TeleportRoom:[233,1,1,""],TutorialRoom:[233,1,1,""],TutorialRoomCmdSet:[233,1,1,""],WeatherRoom:[233,1,1,""]},"evennia.contrib.tutorial_world.rooms.BridgeCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.BridgeRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""],update_weather:[233,3,1,""]},"evennia.contrib.tutorial_world.rooms.CmdBridgeHelp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdDarkHelp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdDarkNoMatch":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdEast":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdEvenniaIntro":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdLookBridge":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdLookDark":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdSetEvenniaIntro":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorial":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialGiveUp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialLook":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialSetDetail":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdWest":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.DarkCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],mergetype:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.DarkRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_init:[233,3,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],check_light_state:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.IntroRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.OutroRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TeleportRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TutorialRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],return_detail:[233,3,1,""],set_detail:[233,3,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TutorialRoomCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.WeatherRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""],update_weather:[233,3,1,""]},"evennia.contrib.unixcommand":{HelpAction:[234,1,1,""],ParseError:[234,2,1,""],UnixCommand:[234,1,1,""],UnixCommandParser:[234,1,1,""]},"evennia.contrib.unixcommand.UnixCommand":{__init__:[234,3,1,""],aliases:[234,4,1,""],func:[234,3,1,""],get_help:[234,3,1,""],help_category:[234,4,1,""],init_parser:[234,3,1,""],key:[234,4,1,""],lock_storage:[234,4,1,""],parse:[234,3,1,""],search_index_entry:[234,4,1,""]},"evennia.contrib.unixcommand.UnixCommandParser":{__init__:[234,3,1,""],format_help:[234,3,1,""],format_usage:[234,3,1,""],print_help:[234,3,1,""],print_usage:[234,3,1,""]},"evennia.contrib.wilderness":{WildernessExit:[235,1,1,""],WildernessMapProvider:[235,1,1,""],WildernessRoom:[235,1,1,""],WildernessScript:[235,1,1,""],create_wilderness:[235,5,1,""],enter_wilderness:[235,5,1,""],get_new_coordinates:[235,5,1,""]},"evennia.contrib.wilderness.WildernessExit":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_traverse:[235,3,1,""],at_traverse_coordinates:[235,3,1,""],mapprovider:[235,3,1,""],path:[235,4,1,""],typename:[235,4,1,""],wilderness:[235,3,1,""]},"evennia.contrib.wilderness.WildernessMapProvider":{at_prepare_room:[235,3,1,""],exit_typeclass:[235,4,1,""],get_location_name:[235,3,1,""],is_valid_coordinates:[235,3,1,""],room_typeclass:[235,4,1,""]},"evennia.contrib.wilderness.WildernessRoom":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_object_leave:[235,3,1,""],at_object_receive:[235,3,1,""],coordinates:[235,3,1,""],get_display_name:[235,3,1,""],location_name:[235,3,1,""],path:[235,4,1,""],set_active_coordinates:[235,3,1,""],typename:[235,4,1,""],wilderness:[235,3,1,""]},"evennia.contrib.wilderness.WildernessScript":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_after_object_leave:[235,3,1,""],at_script_creation:[235,3,1,""],at_start:[235,3,1,""],get_obj_coordinates:[235,3,1,""],get_objs_at_coordinates:[235,3,1,""],is_valid_coordinates:[235,3,1,""],itemcoordinates:[235,3,1,""],mapprovider:[235,3,1,""],move_obj:[235,3,1,""],path:[235,4,1,""],typename:[235,4,1,""]},"evennia.help":{admin:[237,0,0,"-"],manager:[238,0,0,"-"],models:[239,0,0,"-"]},"evennia.help.admin":{HelpEntryAdmin:[237,1,1,""],HelpEntryForm:[237,1,1,""],HelpTagInline:[237,1,1,""]},"evennia.help.admin.HelpEntryAdmin":{fieldsets:[237,4,1,""],form:[237,4,1,""],inlines:[237,4,1,""],list_display:[237,4,1,""],list_display_links:[237,4,1,""],list_select_related:[237,4,1,""],media:[237,3,1,""],ordering:[237,4,1,""],save_as:[237,4,1,""],save_on_top:[237,4,1,""],search_fields:[237,4,1,""]},"evennia.help.admin.HelpEntryForm":{Meta:[237,1,1,""],base_fields:[237,4,1,""],declared_fields:[237,4,1,""],media:[237,3,1,""]},"evennia.help.admin.HelpEntryForm.Meta":{fields:[237,4,1,""],model:[237,4,1,""]},"evennia.help.admin.HelpTagInline":{media:[237,3,1,""],model:[237,4,1,""],related_field:[237,4,1,""]},"evennia.help.manager":{HelpEntryManager:[238,1,1,""]},"evennia.help.manager.HelpEntryManager":{all_to_category:[238,3,1,""],find_apropos:[238,3,1,""],find_topicmatch:[238,3,1,""],find_topics_with_category:[238,3,1,""],find_topicsuggestions:[238,3,1,""],get_all_categories:[238,3,1,""],get_all_topics:[238,3,1,""],search_help:[238,3,1,""]},"evennia.help.models":{HelpEntry:[239,1,1,""]},"evennia.help.models.HelpEntry":{DoesNotExist:[239,2,1,""],MultipleObjectsReturned:[239,2,1,""],access:[239,3,1,""],aliases:[239,4,1,""],db_entrytext:[239,4,1,""],db_help_category:[239,4,1,""],db_key:[239,4,1,""],db_lock_storage:[239,4,1,""],db_staff_only:[239,4,1,""],db_tags:[239,4,1,""],entrytext:[239,3,1,""],get_absolute_url:[239,3,1,""],help_category:[239,3,1,""],id:[239,4,1,""],key:[239,3,1,""],lock_storage:[239,3,1,""],locks:[239,4,1,""],objects:[239,4,1,""],path:[239,4,1,""],search_index_entry:[239,3,1,""],staff_only:[239,3,1,""],tags:[239,4,1,""],typename:[239,4,1,""],web_get_admin_url:[239,3,1,""],web_get_create_url:[239,3,1,""],web_get_delete_url:[239,3,1,""],web_get_detail_url:[239,3,1,""],web_get_update_url:[239,3,1,""]},"evennia.locks":{lockfuncs:[241,0,0,"-"],lockhandler:[242,0,0,"-"]},"evennia.locks.lockfuncs":{"false":[241,5,1,""],"true":[241,5,1,""],all:[241,5,1,""],attr:[241,5,1,""],attr_eq:[241,5,1,""],attr_ge:[241,5,1,""],attr_gt:[241,5,1,""],attr_le:[241,5,1,""],attr_lt:[241,5,1,""],attr_ne:[241,5,1,""],dbref:[241,5,1,""],has_account:[241,5,1,""],holds:[241,5,1,""],id:[241,5,1,""],inside:[241,5,1,""],inside_rec:[241,5,1,""],locattr:[241,5,1,""],none:[241,5,1,""],objattr:[241,5,1,""],objlocattr:[241,5,1,""],objtag:[241,5,1,""],pdbref:[241,5,1,""],perm:[241,5,1,""],perm_above:[241,5,1,""],pid:[241,5,1,""],pperm:[241,5,1,""],pperm_above:[241,5,1,""],self:[241,5,1,""],serversetting:[241,5,1,""],superuser:[241,5,1,""],tag:[241,5,1,""]},"evennia.locks.lockhandler":{LockException:[242,2,1,""],LockHandler:[242,1,1,""]},"evennia.locks.lockhandler.LockHandler":{"delete":[242,3,1,""],__init__:[242,3,1,""],add:[242,3,1,""],all:[242,3,1,""],append:[242,3,1,""],cache_lock_bypass:[242,3,1,""],check:[242,3,1,""],check_lockstring:[242,3,1,""],clear:[242,3,1,""],get:[242,3,1,""],remove:[242,3,1,""],replace:[242,3,1,""],reset:[242,3,1,""],validate:[242,3,1,""]},"evennia.objects":{admin:[244,0,0,"-"],manager:[245,0,0,"-"],models:[246,0,0,"-"],objects:[247,0,0,"-"]},"evennia.objects.admin":{ObjectAttributeInline:[244,1,1,""],ObjectCreateForm:[244,1,1,""],ObjectDBAdmin:[244,1,1,""],ObjectEditForm:[244,1,1,""],ObjectTagInline:[244,1,1,""]},"evennia.objects.admin.ObjectAttributeInline":{media:[244,3,1,""],model:[244,4,1,""],related_field:[244,4,1,""]},"evennia.objects.admin.ObjectCreateForm":{Meta:[244,1,1,""],base_fields:[244,4,1,""],declared_fields:[244,4,1,""],media:[244,3,1,""],raw_id_fields:[244,4,1,""]},"evennia.objects.admin.ObjectCreateForm.Meta":{fields:[244,4,1,""],model:[244,4,1,""]},"evennia.objects.admin.ObjectDBAdmin":{add_fieldsets:[244,4,1,""],add_form:[244,4,1,""],fieldsets:[244,4,1,""],form:[244,4,1,""],get_fieldsets:[244,3,1,""],get_form:[244,3,1,""],inlines:[244,4,1,""],list_display:[244,4,1,""],list_display_links:[244,4,1,""],list_filter:[244,4,1,""],list_select_related:[244,4,1,""],media:[244,3,1,""],ordering:[244,4,1,""],raw_id_fields:[244,4,1,""],response_add:[244,3,1,""],save_as:[244,4,1,""],save_model:[244,3,1,""],save_on_top:[244,4,1,""],search_fields:[244,4,1,""]},"evennia.objects.admin.ObjectEditForm":{Meta:[244,1,1,""],base_fields:[244,4,1,""],declared_fields:[244,4,1,""],media:[244,3,1,""]},"evennia.objects.admin.ObjectEditForm.Meta":{fields:[244,4,1,""]},"evennia.objects.admin.ObjectTagInline":{media:[244,3,1,""],model:[244,4,1,""],related_field:[244,4,1,""]},"evennia.objects.manager":{ObjectManager:[245,1,1,""]},"evennia.objects.models":{ContentsHandler:[246,1,1,""],ObjectDB:[246,1,1,""]},"evennia.objects.models.ContentsHandler":{__init__:[246,3,1,""],add:[246,3,1,""],clear:[246,3,1,""],get:[246,3,1,""],init:[246,3,1,""],load:[246,3,1,""],remove:[246,3,1,""]},"evennia.objects.models.ObjectDB":{DoesNotExist:[246,2,1,""],MultipleObjectsReturned:[246,2,1,""],account:[246,3,1,""],at_db_location_postsave:[246,3,1,""],cmdset_storage:[246,3,1,""],contents_cache:[246,4,1,""],db_account:[246,4,1,""],db_account_id:[246,4,1,""],db_attributes:[246,4,1,""],db_cmdset_storage:[246,4,1,""],db_destination:[246,4,1,""],db_destination_id:[246,4,1,""],db_home:[246,4,1,""],db_home_id:[246,4,1,""],db_location:[246,4,1,""],db_location_id:[246,4,1,""],db_sessid:[246,4,1,""],db_tags:[246,4,1,""],destination:[246,3,1,""],destinations_set:[246,4,1,""],get_next_by_db_date_created:[246,3,1,""],get_previous_by_db_date_created:[246,3,1,""],hide_from_objects_set:[246,4,1,""],home:[246,3,1,""],homes_set:[246,4,1,""],id:[246,4,1,""],location:[246,3,1,""],locations_set:[246,4,1,""],object_subscription_set:[246,4,1,""],objects:[246,4,1,""],path:[246,4,1,""],receiver_object_set:[246,4,1,""],scriptdb_set:[246,4,1,""],sender_object_set:[246,4,1,""],sessid:[246,3,1,""],typename:[246,4,1,""]},"evennia.objects.objects":{DefaultCharacter:[247,1,1,""],DefaultExit:[247,1,1,""],DefaultObject:[247,1,1,""],DefaultRoom:[247,1,1,""],ExitCommand:[247,1,1,""],ObjectSessionHandler:[247,1,1,""]},"evennia.objects.objects.DefaultCharacter":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],at_after_move:[247,3,1,""],at_post_puppet:[247,3,1,""],at_post_unpuppet:[247,3,1,""],at_pre_puppet:[247,3,1,""],basetype_setup:[247,3,1,""],connection_time:[247,3,1,""],create:[247,3,1,""],idle_time:[247,3,1,""],lockstring:[247,4,1,""],normalize_name:[247,3,1,""],path:[247,4,1,""],typename:[247,4,1,""],validate_name:[247,3,1,""]},"evennia.objects.objects.DefaultExit":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],at_cmdset_get:[247,3,1,""],at_failed_traverse:[247,3,1,""],at_init:[247,3,1,""],at_traverse:[247,3,1,""],basetype_setup:[247,3,1,""],create:[247,3,1,""],create_exit_cmdset:[247,3,1,""],exit_command:[247,4,1,""],lockstring:[247,4,1,""],path:[247,4,1,""],priority:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.DefaultObject":{"delete":[247,3,1,""],DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],access:[247,3,1,""],announce_move_from:[247,3,1,""],announce_move_to:[247,3,1,""],at_access:[247,3,1,""],at_after_move:[247,3,1,""],at_after_traverse:[247,3,1,""],at_before_drop:[247,3,1,""],at_before_get:[247,3,1,""],at_before_give:[247,3,1,""],at_before_move:[247,3,1,""],at_before_say:[247,3,1,""],at_cmdset_get:[247,3,1,""],at_desc:[247,3,1,""],at_drop:[247,3,1,""],at_failed_traverse:[247,3,1,""],at_first_save:[247,3,1,""],at_get:[247,3,1,""],at_give:[247,3,1,""],at_init:[247,3,1,""],at_look:[247,3,1,""],at_msg_receive:[247,3,1,""],at_msg_send:[247,3,1,""],at_object_creation:[247,3,1,""],at_object_delete:[247,3,1,""],at_object_leave:[247,3,1,""],at_object_post_copy:[247,3,1,""],at_object_receive:[247,3,1,""],at_post_puppet:[247,3,1,""],at_post_unpuppet:[247,3,1,""],at_pre_puppet:[247,3,1,""],at_pre_unpuppet:[247,3,1,""],at_say:[247,3,1,""],at_server_reload:[247,3,1,""],at_server_shutdown:[247,3,1,""],at_traverse:[247,3,1,""],basetype_posthook_setup:[247,3,1,""],basetype_setup:[247,3,1,""],clear_contents:[247,3,1,""],clear_exits:[247,3,1,""],cmdset:[247,4,1,""],contents:[247,3,1,""],contents_get:[247,3,1,""],contents_set:[247,3,1,""],copy:[247,3,1,""],create:[247,3,1,""],execute_cmd:[247,3,1,""],exits:[247,3,1,""],for_contents:[247,3,1,""],get_display_name:[247,3,1,""],get_numbered_name:[247,3,1,""],has_account:[247,3,1,""],is_connected:[247,3,1,""],is_superuser:[247,3,1,""],lockstring:[247,4,1,""],move_to:[247,3,1,""],msg:[247,3,1,""],msg_contents:[247,3,1,""],nicks:[247,4,1,""],objects:[247,4,1,""],path:[247,4,1,""],return_appearance:[247,3,1,""],scripts:[247,4,1,""],search:[247,3,1,""],search_account:[247,3,1,""],sessions:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.DefaultRoom":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],basetype_setup:[247,3,1,""],create:[247,3,1,""],lockstring:[247,4,1,""],path:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.ExitCommand":{aliases:[247,4,1,""],func:[247,3,1,""],get_extra_info:[247,3,1,""],help_category:[247,4,1,""],key:[247,4,1,""],lock_storage:[247,4,1,""],obj:[247,4,1,""],search_index_entry:[247,4,1,""]},"evennia.objects.objects.ObjectSessionHandler":{__init__:[247,3,1,""],add:[247,3,1,""],all:[247,3,1,""],clear:[247,3,1,""],count:[247,3,1,""],get:[247,3,1,""],remove:[247,3,1,""]},"evennia.prototypes":{menus:[249,0,0,"-"],protfuncs:[250,0,0,"-"],prototypes:[251,0,0,"-"],spawner:[252,0,0,"-"]},"evennia.prototypes.menus":{OLCMenu:[249,1,1,""],node_apply_diff:[249,5,1,""],node_destination:[249,5,1,""],node_examine_entity:[249,5,1,""],node_home:[249,5,1,""],node_index:[249,5,1,""],node_key:[249,5,1,""],node_location:[249,5,1,""],node_prototype_desc:[249,5,1,""],node_prototype_key:[249,5,1,""],node_prototype_save:[249,5,1,""],node_prototype_spawn:[249,5,1,""],node_validate_prototype:[249,5,1,""],start_olc:[249,5,1,""]},"evennia.prototypes.menus.OLCMenu":{display_helptext:[249,3,1,""],helptext_formatter:[249,3,1,""],nodetext_formatter:[249,3,1,""],options_formatter:[249,3,1,""]},"evennia.prototypes.protfuncs":{protfunc_callable_protkey:[250,5,1,""]},"evennia.prototypes.prototypes":{DbPrototype:[251,1,1,""],PermissionError:[251,2,1,""],PrototypeEvMore:[251,1,1,""],ValidationError:[251,2,1,""],check_permission:[251,5,1,""],create_prototype:[251,5,1,""],delete_prototype:[251,5,1,""],format_available_protfuncs:[251,5,1,""],homogenize_prototype:[251,5,1,""],init_spawn_value:[251,5,1,""],list_prototypes:[251,5,1,""],load_module_prototypes:[251,5,1,""],protfunc_parser:[251,5,1,""],prototype_to_str:[251,5,1,""],save_prototype:[251,5,1,""],search_objects_with_prototype:[251,5,1,""],search_prototype:[251,5,1,""],validate_prototype:[251,5,1,""],value_to_obj:[251,5,1,""],value_to_obj_or_any:[251,5,1,""]},"evennia.prototypes.prototypes.DbPrototype":{DoesNotExist:[251,2,1,""],MultipleObjectsReturned:[251,2,1,""],at_script_creation:[251,3,1,""],path:[251,4,1,""],prototype:[251,3,1,""],typename:[251,4,1,""]},"evennia.prototypes.prototypes.PrototypeEvMore":{__init__:[251,3,1,""],init_pages:[251,3,1,""],page_formatter:[251,3,1,""],prototype_paginator:[251,3,1,""]},"evennia.prototypes.spawner":{Unset:[252,1,1,""],batch_create_object:[252,5,1,""],batch_update_objects_with_prototype:[252,5,1,""],flatten_diff:[252,5,1,""],flatten_prototype:[252,5,1,""],format_diff:[252,5,1,""],prototype_diff:[252,5,1,""],prototype_diff_from_object:[252,5,1,""],prototype_from_object:[252,5,1,""],spawn:[252,5,1,""]},"evennia.scripts":{admin:[254,0,0,"-"],manager:[255,0,0,"-"],models:[256,0,0,"-"],monitorhandler:[257,0,0,"-"],scripthandler:[258,0,0,"-"],scripts:[259,0,0,"-"],taskhandler:[260,0,0,"-"],tickerhandler:[261,0,0,"-"]},"evennia.scripts.admin":{ScriptAttributeInline:[254,1,1,""],ScriptDBAdmin:[254,1,1,""],ScriptTagInline:[254,1,1,""]},"evennia.scripts.admin.ScriptAttributeInline":{media:[254,3,1,""],model:[254,4,1,""],related_field:[254,4,1,""]},"evennia.scripts.admin.ScriptDBAdmin":{fieldsets:[254,4,1,""],inlines:[254,4,1,""],list_display:[254,4,1,""],list_display_links:[254,4,1,""],list_select_related:[254,4,1,""],media:[254,3,1,""],ordering:[254,4,1,""],raw_id_fields:[254,4,1,""],save_as:[254,4,1,""],save_model:[254,3,1,""],save_on_top:[254,4,1,""],search_fields:[254,4,1,""]},"evennia.scripts.admin.ScriptTagInline":{media:[254,3,1,""],model:[254,4,1,""],related_field:[254,4,1,""]},"evennia.scripts.manager":{ScriptManager:[255,1,1,""]},"evennia.scripts.models":{ScriptDB:[256,1,1,""]},"evennia.scripts.models.ScriptDB":{DoesNotExist:[256,2,1,""],MultipleObjectsReturned:[256,2,1,""],account:[256,3,1,""],db_account:[256,4,1,""],db_account_id:[256,4,1,""],db_attributes:[256,4,1,""],db_desc:[256,4,1,""],db_interval:[256,4,1,""],db_is_active:[256,4,1,""],db_obj:[256,4,1,""],db_obj_id:[256,4,1,""],db_persistent:[256,4,1,""],db_repeats:[256,4,1,""],db_start_delay:[256,4,1,""],db_tags:[256,4,1,""],desc:[256,3,1,""],get_next_by_db_date_created:[256,3,1,""],get_previous_by_db_date_created:[256,3,1,""],id:[256,4,1,""],interval:[256,3,1,""],is_active:[256,3,1,""],obj:[256,3,1,""],object:[256,3,1,""],objects:[256,4,1,""],path:[256,4,1,""],persistent:[256,3,1,""],receiver_script_set:[256,4,1,""],repeats:[256,3,1,""],sender_script_set:[256,4,1,""],start_delay:[256,3,1,""],typename:[256,4,1,""]},"evennia.scripts.monitorhandler":{MonitorHandler:[257,1,1,""]},"evennia.scripts.monitorhandler.MonitorHandler":{__init__:[257,3,1,""],add:[257,3,1,""],all:[257,3,1,""],at_update:[257,3,1,""],clear:[257,3,1,""],remove:[257,3,1,""],restore:[257,3,1,""],save:[257,3,1,""]},"evennia.scripts.scripthandler":{ScriptHandler:[258,1,1,""]},"evennia.scripts.scripthandler.ScriptHandler":{"delete":[258,3,1,""],__init__:[258,3,1,""],add:[258,3,1,""],all:[258,3,1,""],get:[258,3,1,""],start:[258,3,1,""],stop:[258,3,1,""]},"evennia.scripts.scripts":{DefaultScript:[259,1,1,""],DoNothing:[259,1,1,""],Store:[259,1,1,""]},"evennia.scripts.scripts.DefaultScript":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_pause:[259,3,1,""],at_repeat:[259,3,1,""],at_script_creation:[259,3,1,""],at_script_delete:[259,3,1,""],at_server_reload:[259,3,1,""],at_server_shutdown:[259,3,1,""],at_server_start:[259,3,1,""],at_start:[259,3,1,""],at_stop:[259,3,1,""],create:[259,3,1,""],is_valid:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.scripts.DoNothing":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_script_creation:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.scripts.Store":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_script_creation:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.taskhandler":{TaskHandler:[260,1,1,""],TaskHandlerTask:[260,1,1,""],handle_error:[260,5,1,""]},"evennia.scripts.taskhandler.TaskHandler":{__init__:[260,3,1,""],active:[260,3,1,""],add:[260,3,1,""],call_task:[260,3,1,""],cancel:[260,3,1,""],clean_stale_tasks:[260,3,1,""],clear:[260,3,1,""],create_delays:[260,3,1,""],do_task:[260,3,1,""],exists:[260,3,1,""],get_deferred:[260,3,1,""],load:[260,3,1,""],remove:[260,3,1,""],save:[260,3,1,""]},"evennia.scripts.taskhandler.TaskHandlerTask":{__init__:[260,3,1,""],active:[260,3,1,"id6"],call:[260,3,1,"id3"],called:[260,3,1,""],cancel:[260,3,1,"id5"],do_task:[260,3,1,"id2"],exists:[260,3,1,"id7"],get_deferred:[260,3,1,""],get_id:[260,3,1,"id8"],pause:[260,3,1,"id0"],paused:[260,3,1,""],remove:[260,3,1,"id4"],unpause:[260,3,1,"id1"]},"evennia.scripts.tickerhandler":{Ticker:[261,1,1,""],TickerHandler:[261,1,1,""],TickerPool:[261,1,1,""]},"evennia.scripts.tickerhandler.Ticker":{__init__:[261,3,1,""],add:[261,3,1,""],remove:[261,3,1,""],stop:[261,3,1,""],validate:[261,3,1,""]},"evennia.scripts.tickerhandler.TickerHandler":{__init__:[261,3,1,""],add:[261,3,1,""],all:[261,3,1,""],all_display:[261,3,1,""],clear:[261,3,1,""],remove:[261,3,1,""],restore:[261,3,1,""],save:[261,3,1,""],ticker_pool_class:[261,4,1,""]},"evennia.scripts.tickerhandler.TickerPool":{__init__:[261,3,1,""],add:[261,3,1,""],remove:[261,3,1,""],stop:[261,3,1,""],ticker_class:[261,4,1,""]},"evennia.server":{admin:[263,0,0,"-"],amp_client:[264,0,0,"-"],connection_wizard:[265,0,0,"-"],deprecations:[266,0,0,"-"],evennia_launcher:[267,0,0,"-"],game_index_client:[268,0,0,"-"],initial_setup:[271,0,0,"-"],inputfuncs:[272,0,0,"-"],manager:[273,0,0,"-"],models:[274,0,0,"-"],portal:[275,0,0,"-"],profiling:[297,0,0,"-"],server:[305,0,0,"-"],serversession:[306,0,0,"-"],session:[307,0,0,"-"],sessionhandler:[308,0,0,"-"],signals:[309,0,0,"-"],throttle:[310,0,0,"-"],validators:[311,0,0,"-"],webserver:[312,0,0,"-"]},"evennia.server.admin":{ServerConfigAdmin:[263,1,1,""]},"evennia.server.admin.ServerConfigAdmin":{list_display:[263,4,1,""],list_display_links:[263,4,1,""],list_select_related:[263,4,1,""],media:[263,3,1,""],ordering:[263,4,1,""],save_as:[263,4,1,""],save_on_top:[263,4,1,""],search_fields:[263,4,1,""]},"evennia.server.amp_client":{AMPClientFactory:[264,1,1,""],AMPServerClientProtocol:[264,1,1,""]},"evennia.server.amp_client.AMPClientFactory":{__init__:[264,3,1,""],buildProtocol:[264,3,1,""],clientConnectionFailed:[264,3,1,""],clientConnectionLost:[264,3,1,""],factor:[264,4,1,""],initialDelay:[264,4,1,""],maxDelay:[264,4,1,""],noisy:[264,4,1,""],startedConnecting:[264,3,1,""]},"evennia.server.amp_client.AMPServerClientProtocol":{connectionMade:[264,3,1,""],data_to_portal:[264,3,1,""],send_AdminServer2Portal:[264,3,1,""],send_MsgServer2Portal:[264,3,1,""],server_receive_adminportal2server:[264,3,1,""],server_receive_msgportal2server:[264,3,1,""],server_receive_status:[264,3,1,""]},"evennia.server.connection_wizard":{ConnectionWizard:[265,1,1,""],node_game_index_fields:[265,5,1,""],node_game_index_start:[265,5,1,""],node_mssp_start:[265,5,1,""],node_start:[265,5,1,""],node_view_and_apply_settings:[265,5,1,""]},"evennia.server.connection_wizard.ConnectionWizard":{__init__:[265,3,1,""],ask_choice:[265,3,1,""],ask_continue:[265,3,1,""],ask_input:[265,3,1,""],ask_node:[265,3,1,""],ask_yesno:[265,3,1,""],display:[265,3,1,""]},"evennia.server.deprecations":{check_errors:[266,5,1,""],check_warnings:[266,5,1,""]},"evennia.server.evennia_launcher":{AMPLauncherProtocol:[267,1,1,""],MsgLauncher2Portal:[267,1,1,""],MsgStatus:[267,1,1,""],check_database:[267,5,1,""],check_main_evennia_dependencies:[267,5,1,""],collectstatic:[267,5,1,""],create_game_directory:[267,5,1,""],create_secret_key:[267,5,1,""],create_settings_file:[267,5,1,""],create_superuser:[267,5,1,""],del_pid:[267,5,1,""],error_check_python_modules:[267,5,1,""],evennia_version:[267,5,1,""],get_pid:[267,5,1,""],getenv:[267,5,1,""],init_game_directory:[267,5,1,""],kill:[267,5,1,""],list_settings:[267,5,1,""],main:[267,5,1,""],query_info:[267,5,1,""],query_status:[267,5,1,""],reboot_evennia:[267,5,1,""],reload_evennia:[267,5,1,""],run_connect_wizard:[267,5,1,""],run_dummyrunner:[267,5,1,""],run_menu:[267,5,1,""],send_instruction:[267,5,1,""],set_gamedir:[267,5,1,""],show_version_info:[267,5,1,""],start_evennia:[267,5,1,""],start_only_server:[267,5,1,""],start_portal_interactive:[267,5,1,""],start_server_interactive:[267,5,1,""],stop_evennia:[267,5,1,""],stop_server_only:[267,5,1,""],tail_log_files:[267,5,1,""],wait_for_status:[267,5,1,""],wait_for_status_reply:[267,5,1,""]},"evennia.server.evennia_launcher.AMPLauncherProtocol":{__init__:[267,3,1,""],receive_status_from_portal:[267,3,1,""],wait_for_status:[267,3,1,""]},"evennia.server.evennia_launcher.MsgLauncher2Portal":{allErrors:[267,4,1,""],arguments:[267,4,1,""],commandName:[267,4,1,""],errors:[267,4,1,""],key:[267,4,1,""],response:[267,4,1,""],reverseErrors:[267,4,1,""]},"evennia.server.evennia_launcher.MsgStatus":{allErrors:[267,4,1,""],arguments:[267,4,1,""],commandName:[267,4,1,""],errors:[267,4,1,""],key:[267,4,1,""],response:[267,4,1,""],reverseErrors:[267,4,1,""]},"evennia.server.game_index_client":{client:[269,0,0,"-"],service:[270,0,0,"-"]},"evennia.server.game_index_client.client":{EvenniaGameIndexClient:[269,1,1,""],QuietHTTP11ClientFactory:[269,1,1,""],SimpleResponseReceiver:[269,1,1,""],StringProducer:[269,1,1,""]},"evennia.server.game_index_client.client.EvenniaGameIndexClient":{__init__:[269,3,1,""],handle_egd_response:[269,3,1,""],send_game_details:[269,3,1,""]},"evennia.server.game_index_client.client.QuietHTTP11ClientFactory":{noisy:[269,4,1,""]},"evennia.server.game_index_client.client.SimpleResponseReceiver":{__init__:[269,3,1,""],connectionLost:[269,3,1,""],dataReceived:[269,3,1,""]},"evennia.server.game_index_client.client.StringProducer":{__init__:[269,3,1,""],pauseProducing:[269,3,1,""],startProducing:[269,3,1,""],stopProducing:[269,3,1,""]},"evennia.server.game_index_client.service":{EvenniaGameIndexService:[270,1,1,""]},"evennia.server.game_index_client.service.EvenniaGameIndexService":{__init__:[270,3,1,""],name:[270,4,1,""],startService:[270,3,1,""],stopService:[270,3,1,""]},"evennia.server.initial_setup":{at_initial_setup:[271,5,1,""],collectstatic:[271,5,1,""],create_channels:[271,5,1,""],create_objects:[271,5,1,""],get_god_account:[271,5,1,""],handle_setup:[271,5,1,""],reset_server:[271,5,1,""]},"evennia.server.inputfuncs":{"default":[272,5,1,""],bot_data_in:[272,5,1,""],client_options:[272,5,1,""],echo:[272,5,1,""],external_discord_hello:[272,5,1,""],get_client_options:[272,5,1,""],get_inputfuncs:[272,5,1,""],get_value:[272,5,1,""],hello:[272,5,1,""],login:[272,5,1,""],monitor:[272,5,1,""],monitored:[272,5,1,""],msdp_list:[272,5,1,""],msdp_report:[272,5,1,""],msdp_send:[272,5,1,""],msdp_unreport:[272,5,1,""],repeat:[272,5,1,""],supports_set:[272,5,1,""],text:[272,5,1,""],unmonitor:[272,5,1,""],unrepeat:[272,5,1,""],webclient_options:[272,5,1,""]},"evennia.server.manager":{ServerConfigManager:[273,1,1,""]},"evennia.server.manager.ServerConfigManager":{conf:[273,3,1,""]},"evennia.server.models":{ServerConfig:[274,1,1,""]},"evennia.server.models.ServerConfig":{DoesNotExist:[274,2,1,""],MultipleObjectsReturned:[274,2,1,""],db_key:[274,4,1,""],db_value:[274,4,1,""],id:[274,4,1,""],key:[274,3,1,""],objects:[274,4,1,""],path:[274,4,1,""],store:[274,3,1,""],typename:[274,4,1,""],value:[274,3,1,""]},"evennia.server.portal":{amp:[276,0,0,"-"],amp_server:[277,0,0,"-"],grapevine:[278,0,0,"-"],irc:[279,0,0,"-"],mccp:[280,0,0,"-"],mssp:[281,0,0,"-"],mxp:[282,0,0,"-"],naws:[283,0,0,"-"],portal:[284,0,0,"-"],portalsessionhandler:[285,0,0,"-"],rss:[286,0,0,"-"],ssh:[287,0,0,"-"],ssl:[288,0,0,"-"],suppress_ga:[289,0,0,"-"],telnet:[290,0,0,"-"],telnet_oob:[291,0,0,"-"],telnet_ssl:[292,0,0,"-"],tests:[293,0,0,"-"],ttype:[294,0,0,"-"],webclient:[295,0,0,"-"],webclient_ajax:[296,0,0,"-"]},"evennia.server.portal.amp":{AMPMultiConnectionProtocol:[276,1,1,""],AdminPortal2Server:[276,1,1,""],AdminServer2Portal:[276,1,1,""],Compressed:[276,1,1,""],FunctionCall:[276,1,1,""],MsgLauncher2Portal:[276,1,1,""],MsgPortal2Server:[276,1,1,""],MsgServer2Portal:[276,1,1,""],MsgStatus:[276,1,1,""],dumps:[276,5,1,""],loads:[276,5,1,""]},"evennia.server.portal.amp.AMPMultiConnectionProtocol":{__init__:[276,3,1,""],broadcast:[276,3,1,""],connectionLost:[276,3,1,""],connectionMade:[276,3,1,""],dataReceived:[276,3,1,""],data_in:[276,3,1,""],errback:[276,3,1,""],makeConnection:[276,3,1,""],receive_functioncall:[276,3,1,""],send_FunctionCall:[276,3,1,""]},"evennia.server.portal.amp.AdminPortal2Server":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.AdminServer2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.Compressed":{fromBox:[276,3,1,""],fromString:[276,3,1,""],toBox:[276,3,1,""],toString:[276,3,1,""]},"evennia.server.portal.amp.FunctionCall":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgLauncher2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgPortal2Server":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgServer2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgStatus":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp_server":{AMPServerFactory:[277,1,1,""],AMPServerProtocol:[277,1,1,""],getenv:[277,5,1,""]},"evennia.server.portal.amp_server.AMPServerFactory":{__init__:[277,3,1,""],buildProtocol:[277,3,1,""],logPrefix:[277,3,1,""],noisy:[277,4,1,""]},"evennia.server.portal.amp_server.AMPServerProtocol":{connectionLost:[277,3,1,""],data_to_server:[277,3,1,""],get_status:[277,3,1,""],portal_receive_adminserver2portal:[277,3,1,""],portal_receive_launcher2portal:[277,3,1,""],portal_receive_server2portal:[277,3,1,""],portal_receive_status:[277,3,1,""],send_AdminPortal2Server:[277,3,1,""],send_MsgPortal2Server:[277,3,1,""],send_Status2Launcher:[277,3,1,""],start_server:[277,3,1,""],stop_server:[277,3,1,""],wait_for_disconnect:[277,3,1,""],wait_for_server_connect:[277,3,1,""]},"evennia.server.portal.grapevine":{GrapevineClient:[278,1,1,""],RestartingWebsocketServerFactory:[278,1,1,""]},"evennia.server.portal.grapevine.GrapevineClient":{__init__:[278,3,1,""],at_login:[278,3,1,""],data_in:[278,3,1,""],disconnect:[278,3,1,""],onClose:[278,3,1,""],onMessage:[278,3,1,""],onOpen:[278,3,1,""],send_authenticate:[278,3,1,""],send_channel:[278,3,1,""],send_default:[278,3,1,""],send_heartbeat:[278,3,1,""],send_subscribe:[278,3,1,""],send_unsubscribe:[278,3,1,""]},"evennia.server.portal.grapevine.RestartingWebsocketServerFactory":{__init__:[278,3,1,""],buildProtocol:[278,3,1,""],clientConnectionFailed:[278,3,1,""],clientConnectionLost:[278,3,1,""],factor:[278,4,1,""],initialDelay:[278,4,1,""],maxDelay:[278,4,1,""],reconnect:[278,3,1,""],start:[278,3,1,""],startedConnecting:[278,3,1,""]},"evennia.server.portal.irc":{IRCBot:[279,1,1,""],IRCBotFactory:[279,1,1,""],parse_ansi_to_irc:[279,5,1,""],parse_irc_to_ansi:[279,5,1,""]},"evennia.server.portal.irc.IRCBot":{action:[279,3,1,""],at_login:[279,3,1,""],channel:[279,4,1,""],data_in:[279,3,1,""],disconnect:[279,3,1,""],factory:[279,4,1,""],get_nicklist:[279,3,1,""],irc_RPL_ENDOFNAMES:[279,3,1,""],irc_RPL_NAMREPLY:[279,3,1,""],lineRate:[279,4,1,""],logger:[279,4,1,""],nickname:[279,4,1,""],pong:[279,3,1,""],privmsg:[279,3,1,""],send_channel:[279,3,1,""],send_default:[279,3,1,""],send_ping:[279,3,1,""],send_privmsg:[279,3,1,""],send_reconnect:[279,3,1,""],send_request_nicklist:[279,3,1,""],signedOn:[279,3,1,""],sourceURL:[279,4,1,""]},"evennia.server.portal.irc.IRCBotFactory":{__init__:[279,3,1,""],buildProtocol:[279,3,1,""],clientConnectionFailed:[279,3,1,""],clientConnectionLost:[279,3,1,""],factor:[279,4,1,""],initialDelay:[279,4,1,""],maxDelay:[279,4,1,""],reconnect:[279,3,1,""],start:[279,3,1,""],startedConnecting:[279,3,1,""]},"evennia.server.portal.mccp":{Mccp:[280,1,1,""],mccp_compress:[280,5,1,""]},"evennia.server.portal.mccp.Mccp":{__init__:[280,3,1,""],do_mccp:[280,3,1,""],no_mccp:[280,3,1,""]},"evennia.server.portal.mssp":{Mssp:[281,1,1,""]},"evennia.server.portal.mssp.Mssp":{__init__:[281,3,1,""],do_mssp:[281,3,1,""],get_player_count:[281,3,1,""],get_uptime:[281,3,1,""],no_mssp:[281,3,1,""]},"evennia.server.portal.mxp":{Mxp:[282,1,1,""],mxp_parse:[282,5,1,""]},"evennia.server.portal.mxp.Mxp":{__init__:[282,3,1,""],do_mxp:[282,3,1,""],no_mxp:[282,3,1,""]},"evennia.server.portal.naws":{Naws:[283,1,1,""]},"evennia.server.portal.naws.Naws":{__init__:[283,3,1,""],do_naws:[283,3,1,""],negotiate_sizes:[283,3,1,""],no_naws:[283,3,1,""]},"evennia.server.portal.portal":{Portal:[284,1,1,""],Websocket:[284,1,1,""]},"evennia.server.portal.portal.Portal":{__init__:[284,3,1,""],get_info_dict:[284,3,1,""],shutdown:[284,3,1,""]},"evennia.server.portal.portalsessionhandler":{PortalSessionHandler:[285,1,1,""]},"evennia.server.portal.portalsessionhandler.PortalSessionHandler":{__init__:[285,3,1,""],announce_all:[285,3,1,""],at_server_connection:[285,3,1,""],connect:[285,3,1,""],count_loggedin:[285,3,1,""],data_in:[285,3,1,""],data_out:[285,3,1,""],disconnect:[285,3,1,""],disconnect_all:[285,3,1,""],generate_sessid:[285,3,1,""],server_connect:[285,3,1,""],server_disconnect:[285,3,1,""],server_disconnect_all:[285,3,1,""],server_logged_in:[285,3,1,""],server_session_sync:[285,3,1,""],sessions_from_csessid:[285,3,1,""],sync:[285,3,1,""]},"evennia.server.portal.rss":{RSSBotFactory:[286,1,1,""],RSSReader:[286,1,1,""]},"evennia.server.portal.rss.RSSBotFactory":{__init__:[286,3,1,""],start:[286,3,1,""]},"evennia.server.portal.rss.RSSReader":{__init__:[286,3,1,""],data_in:[286,3,1,""],disconnect:[286,3,1,""],get_new:[286,3,1,""],update:[286,3,1,""]},"evennia.server.portal.ssh":{AccountDBPasswordChecker:[287,1,1,""],ExtraInfoAuthServer:[287,1,1,""],PassAvatarIdTerminalRealm:[287,1,1,""],SSHServerFactory:[287,1,1,""],SshProtocol:[287,1,1,""],TerminalSessionTransport_getPeer:[287,1,1,""],getKeyPair:[287,5,1,""],makeFactory:[287,5,1,""]},"evennia.server.portal.ssh.AccountDBPasswordChecker":{__init__:[287,3,1,""],credentialInterfaces:[287,4,1,""],noisy:[287,4,1,""],requestAvatarId:[287,3,1,""]},"evennia.server.portal.ssh.ExtraInfoAuthServer":{auth_password:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssh.PassAvatarIdTerminalRealm":{noisy:[287,4,1,""]},"evennia.server.portal.ssh.SSHServerFactory":{logPrefix:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssh.SshProtocol":{__init__:[287,3,1,""],at_login:[287,3,1,""],connectionLost:[287,3,1,""],connectionMade:[287,3,1,""],data_out:[287,3,1,""],disconnect:[287,3,1,""],getClientAddress:[287,3,1,""],handle_EOF:[287,3,1,""],handle_FF:[287,3,1,""],handle_INT:[287,3,1,""],handle_QUIT:[287,3,1,""],lineReceived:[287,3,1,""],noisy:[287,4,1,""],sendLine:[287,3,1,""],send_default:[287,3,1,""],send_prompt:[287,3,1,""],send_text:[287,3,1,""],terminalSize:[287,3,1,""]},"evennia.server.portal.ssh.TerminalSessionTransport_getPeer":{__init__:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssl":{SSLProtocol:[288,1,1,""],getSSLContext:[288,5,1,""],verify_SSL_key_and_cert:[288,5,1,""]},"evennia.server.portal.ssl.SSLProtocol":{__init__:[288,3,1,""]},"evennia.server.portal.suppress_ga":{SuppressGA:[289,1,1,""]},"evennia.server.portal.suppress_ga.SuppressGA":{__init__:[289,3,1,""],will_suppress_ga:[289,3,1,""],wont_suppress_ga:[289,3,1,""]},"evennia.server.portal.telnet":{TelnetProtocol:[290,1,1,""],TelnetServerFactory:[290,1,1,""]},"evennia.server.portal.telnet.TelnetProtocol":{__init__:[290,3,1,""],applicationDataReceived:[290,3,1,""],at_login:[290,3,1,""],connectionLost:[290,3,1,""],connectionMade:[290,3,1,""],dataReceived:[290,3,1,""],data_in:[290,3,1,""],data_out:[290,3,1,""],disableLocal:[290,3,1,""],disableRemote:[290,3,1,""],disconnect:[290,3,1,""],enableLocal:[290,3,1,""],enableRemote:[290,3,1,""],handshake_done:[290,3,1,""],sendLine:[290,3,1,""],send_default:[290,3,1,""],send_prompt:[290,3,1,""],send_text:[290,3,1,""],toggle_nop_keepalive:[290,3,1,""]},"evennia.server.portal.telnet.TelnetServerFactory":{logPrefix:[290,3,1,""],noisy:[290,4,1,""]},"evennia.server.portal.telnet_oob":{TelnetOOB:[291,1,1,""]},"evennia.server.portal.telnet_oob.TelnetOOB":{__init__:[291,3,1,""],data_out:[291,3,1,""],decode_gmcp:[291,3,1,""],decode_msdp:[291,3,1,""],do_gmcp:[291,3,1,""],do_msdp:[291,3,1,""],encode_gmcp:[291,3,1,""],encode_msdp:[291,3,1,""],no_gmcp:[291,3,1,""],no_msdp:[291,3,1,""]},"evennia.server.portal.telnet_ssl":{SSLProtocol:[292,1,1,""],getSSLContext:[292,5,1,""],verify_or_create_SSL_key_and_cert:[292,5,1,""]},"evennia.server.portal.telnet_ssl.SSLProtocol":{__init__:[292,3,1,""]},"evennia.server.portal.tests":{TestAMPServer:[293,1,1,""],TestIRC:[293,1,1,""],TestTelnet:[293,1,1,""],TestWebSocket:[293,1,1,""]},"evennia.server.portal.tests.TestAMPServer":{setUp:[293,3,1,""],test_amp_in:[293,3,1,""],test_amp_out:[293,3,1,""],test_large_msg:[293,3,1,""]},"evennia.server.portal.tests.TestIRC":{test_bold:[293,3,1,""],test_colors:[293,3,1,""],test_identity:[293,3,1,""],test_italic:[293,3,1,""],test_plain_ansi:[293,3,1,""]},"evennia.server.portal.tests.TestTelnet":{setUp:[293,3,1,""],test_mudlet_ttype:[293,3,1,""]},"evennia.server.portal.tests.TestWebSocket":{setUp:[293,3,1,""],tearDown:[293,3,1,""],test_data_in:[293,3,1,""],test_data_out:[293,3,1,""]},"evennia.server.portal.ttype":{Ttype:[294,1,1,""]},"evennia.server.portal.ttype.Ttype":{__init__:[294,3,1,""],will_ttype:[294,3,1,""],wont_ttype:[294,3,1,""]},"evennia.server.portal.webclient":{WebSocketClient:[295,1,1,""]},"evennia.server.portal.webclient.WebSocketClient":{__init__:[295,3,1,""],at_login:[295,3,1,""],data_in:[295,3,1,""],disconnect:[295,3,1,""],get_client_session:[295,3,1,""],nonce:[295,4,1,""],onClose:[295,3,1,""],onMessage:[295,3,1,""],onOpen:[295,3,1,""],sendLine:[295,3,1,""],send_default:[295,3,1,""],send_prompt:[295,3,1,""],send_text:[295,3,1,""]},"evennia.server.portal.webclient_ajax":{AjaxWebClient:[296,1,1,""],AjaxWebClientSession:[296,1,1,""],LazyEncoder:[296,1,1,""],jsonify:[296,5,1,""]},"evennia.server.portal.webclient_ajax.AjaxWebClient":{__init__:[296,3,1,""],allowedMethods:[296,4,1,""],at_login:[296,3,1,""],client_disconnect:[296,3,1,""],get_client_sessid:[296,3,1,""],isLeaf:[296,4,1,""],lineSend:[296,3,1,""],mode_close:[296,3,1,""],mode_init:[296,3,1,""],mode_input:[296,3,1,""],mode_keepalive:[296,3,1,""],mode_receive:[296,3,1,""],render_POST:[296,3,1,""]},"evennia.server.portal.webclient_ajax.AjaxWebClientSession":{__init__:[296,3,1,""],at_login:[296,3,1,""],data_in:[296,3,1,""],data_out:[296,3,1,""],disconnect:[296,3,1,""],get_client_session:[296,3,1,""],send_default:[296,3,1,""],send_prompt:[296,3,1,""],send_text:[296,3,1,""]},"evennia.server.portal.webclient_ajax.LazyEncoder":{"default":[296,3,1,""]},"evennia.server.profiling":{dummyrunner:[298,0,0,"-"],dummyrunner_settings:[299,0,0,"-"],memplot:[300,0,0,"-"],settings_mixin:[301,0,0,"-"],test_queries:[302,0,0,"-"],tests:[303,0,0,"-"],timetrace:[304,0,0,"-"]},"evennia.server.profiling.dummyrunner":{DummyClient:[298,1,1,""],DummyFactory:[298,1,1,""],gidcounter:[298,5,1,""],idcounter:[298,5,1,""],makeiter:[298,5,1,""],start_all_dummy_clients:[298,5,1,""]},"evennia.server.profiling.dummyrunner.DummyClient":{connectionLost:[298,3,1,""],connectionMade:[298,3,1,""],counter:[298,3,1,""],dataReceived:[298,3,1,""],error:[298,3,1,""],logout:[298,3,1,""],step:[298,3,1,""]},"evennia.server.profiling.dummyrunner.DummyFactory":{__init__:[298,3,1,""],protocol:[298,4,1,""]},"evennia.server.profiling.dummyrunner_settings":{c_creates_button:[299,5,1,""],c_creates_obj:[299,5,1,""],c_digs:[299,5,1,""],c_examines:[299,5,1,""],c_help:[299,5,1,""],c_idles:[299,5,1,""],c_login:[299,5,1,""],c_login_nodig:[299,5,1,""],c_logout:[299,5,1,""],c_looks:[299,5,1,""],c_moves:[299,5,1,""],c_moves_n:[299,5,1,""],c_moves_s:[299,5,1,""],c_socialize:[299,5,1,""]},"evennia.server.profiling.memplot":{Memplot:[300,1,1,""]},"evennia.server.profiling.memplot.Memplot":{DoesNotExist:[300,2,1,""],MultipleObjectsReturned:[300,2,1,""],at_repeat:[300,3,1,""],at_script_creation:[300,3,1,""],path:[300,4,1,""],typename:[300,4,1,""]},"evennia.server.profiling.test_queries":{count_queries:[302,5,1,""]},"evennia.server.profiling.tests":{TestDummyrunnerSettings:[303,1,1,""],TestMemPlot:[303,1,1,""]},"evennia.server.profiling.tests.TestDummyrunnerSettings":{clear_client_lists:[303,3,1,""],perception_method_tests:[303,3,1,""],setUp:[303,3,1,""],test_c_creates_button:[303,3,1,""],test_c_creates_obj:[303,3,1,""],test_c_digs:[303,3,1,""],test_c_examines:[303,3,1,""],test_c_help:[303,3,1,""],test_c_login:[303,3,1,""],test_c_login_no_dig:[303,3,1,""],test_c_logout:[303,3,1,""],test_c_looks:[303,3,1,""],test_c_move_n:[303,3,1,""],test_c_move_s:[303,3,1,""],test_c_moves:[303,3,1,""],test_c_socialize:[303,3,1,""],test_idles:[303,3,1,""]},"evennia.server.profiling.tests.TestMemPlot":{test_memplot:[303,3,1,""]},"evennia.server.profiling.timetrace":{timetrace:[304,5,1,""]},"evennia.server.server":{Evennia:[305,1,1,""]},"evennia.server.server.Evennia":{__init__:[305,3,1,""],at_post_portal_sync:[305,3,1,""],at_server_cold_start:[305,3,1,""],at_server_cold_stop:[305,3,1,""],at_server_reload_start:[305,3,1,""],at_server_reload_stop:[305,3,1,""],at_server_start:[305,3,1,""],at_server_stop:[305,3,1,""],get_info_dict:[305,3,1,""],run_init_hooks:[305,3,1,""],run_initial_setup:[305,3,1,""],shutdown:[305,3,1,""],sqlite3_prep:[305,3,1,""],update_defaults:[305,3,1,""]},"evennia.server.serversession":{ServerSession:[306,1,1,""]},"evennia.server.serversession.ServerSession":{__init__:[306,3,1,""],access:[306,3,1,""],at_cmdset_get:[306,3,1,""],at_disconnect:[306,3,1,""],at_login:[306,3,1,""],at_sync:[306,3,1,""],attributes:[306,4,1,""],cmdset_storage:[306,3,1,""],data_in:[306,3,1,""],data_out:[306,3,1,""],db:[306,3,1,""],execute_cmd:[306,3,1,""],get_account:[306,3,1,""],get_character:[306,3,1,""],get_client_size:[306,3,1,""],get_puppet:[306,3,1,""],get_puppet_or_account:[306,3,1,""],id:[306,3,1,""],log:[306,3,1,""],msg:[306,3,1,""],nattributes:[306,4,1,""],ndb:[306,3,1,""],ndb_del:[306,3,1,""],ndb_get:[306,3,1,""],ndb_set:[306,3,1,""],update_flags:[306,3,1,""],update_session_counters:[306,3,1,""]},"evennia.server.session":{Session:[307,1,1,""]},"evennia.server.session.Session":{at_sync:[307,3,1,""],data_in:[307,3,1,""],data_out:[307,3,1,""],disconnect:[307,3,1,""],get_sync_data:[307,3,1,""],init_session:[307,3,1,""],load_sync_data:[307,3,1,""]},"evennia.server.sessionhandler":{DummySession:[308,1,1,""],ServerSessionHandler:[308,1,1,""],SessionHandler:[308,1,1,""],delayed_import:[308,5,1,""]},"evennia.server.sessionhandler.DummySession":{sessid:[308,4,1,""]},"evennia.server.sessionhandler.ServerSessionHandler":{__init__:[308,3,1,""],account_count:[308,3,1,""],all_connected_accounts:[308,3,1,""],all_sessions_portal_sync:[308,3,1,""],announce_all:[308,3,1,""],call_inputfuncs:[308,3,1,""],data_in:[308,3,1,""],data_out:[308,3,1,""],disconnect:[308,3,1,""],disconnect_all_sessions:[308,3,1,""],disconnect_duplicate_sessions:[308,3,1,""],get_inputfuncs:[308,3,1,""],login:[308,3,1,""],portal_connect:[308,3,1,""],portal_disconnect:[308,3,1,""],portal_disconnect_all:[308,3,1,""],portal_reset_server:[308,3,1,""],portal_restart_server:[308,3,1,""],portal_session_sync:[308,3,1,""],portal_sessions_sync:[308,3,1,""],portal_shutdown:[308,3,1,""],session_from_account:[308,3,1,""],session_from_sessid:[308,3,1,""],session_portal_partial_sync:[308,3,1,""],session_portal_sync:[308,3,1,""],sessions_from_account:[308,3,1,""],sessions_from_character:[308,3,1,""],sessions_from_csessid:[308,3,1,""],sessions_from_puppet:[308,3,1,""],start_bot_session:[308,3,1,""],validate_sessions:[308,3,1,""]},"evennia.server.sessionhandler.SessionHandler":{clean_senddata:[308,3,1,""],get:[308,3,1,""],get_all_sync_data:[308,3,1,""],get_sessions:[308,3,1,""]},"evennia.server.throttle":{Throttle:[310,1,1,""]},"evennia.server.throttle.Throttle":{__init__:[310,3,1,""],check:[310,3,1,""],error_msg:[310,4,1,""],get:[310,3,1,""],get_cache_key:[310,3,1,""],record_ip:[310,3,1,""],remove:[310,3,1,""],touch:[310,3,1,""],unrecord_ip:[310,3,1,""],update:[310,3,1,""]},"evennia.server.validators":{EvenniaPasswordValidator:[311,1,1,""],EvenniaUsernameAvailabilityValidator:[311,1,1,""]},"evennia.server.validators.EvenniaPasswordValidator":{__init__:[311,3,1,""],get_help_text:[311,3,1,""],validate:[311,3,1,""]},"evennia.server.webserver":{DjangoWebRoot:[312,1,1,""],EvenniaReverseProxyResource:[312,1,1,""],HTTPChannelWithXForwardedFor:[312,1,1,""],LockableThreadPool:[312,1,1,""],PrivateStaticRoot:[312,1,1,""],WSGIWebServer:[312,1,1,""],Website:[312,1,1,""]},"evennia.server.webserver.DjangoWebRoot":{__init__:[312,3,1,""],empty_threadpool:[312,3,1,""],getChild:[312,3,1,""]},"evennia.server.webserver.EvenniaReverseProxyResource":{getChild:[312,3,1,""],render:[312,3,1,""]},"evennia.server.webserver.HTTPChannelWithXForwardedFor":{allHeadersReceived:[312,3,1,""]},"evennia.server.webserver.LockableThreadPool":{__init__:[312,3,1,""],callInThread:[312,3,1,""],lock:[312,3,1,""]},"evennia.server.webserver.PrivateStaticRoot":{directoryListing:[312,3,1,""]},"evennia.server.webserver.WSGIWebServer":{__init__:[312,3,1,""],startService:[312,3,1,""],stopService:[312,3,1,""]},"evennia.server.webserver.Website":{log:[312,3,1,""],logPrefix:[312,3,1,""],noisy:[312,4,1,""]},"evennia.typeclasses":{admin:[315,0,0,"-"],attributes:[316,0,0,"-"],managers:[317,0,0,"-"],models:[318,0,0,"-"],tags:[319,0,0,"-"]},"evennia.typeclasses.admin":{AttributeForm:[315,1,1,""],AttributeFormSet:[315,1,1,""],AttributeInline:[315,1,1,""],TagAdmin:[315,1,1,""],TagForm:[315,1,1,""],TagFormSet:[315,1,1,""],TagInline:[315,1,1,""]},"evennia.typeclasses.admin.AttributeForm":{Meta:[315,1,1,""],__init__:[315,3,1,""],base_fields:[315,4,1,""],clean_attr_value:[315,3,1,""],declared_fields:[315,4,1,""],media:[315,3,1,""],save:[315,3,1,""]},"evennia.typeclasses.admin.AttributeForm.Meta":{fields:[315,4,1,""]},"evennia.typeclasses.admin.AttributeFormSet":{save:[315,3,1,""]},"evennia.typeclasses.admin.AttributeInline":{extra:[315,4,1,""],form:[315,4,1,""],formset:[315,4,1,""],get_formset:[315,3,1,""],media:[315,3,1,""],model:[315,4,1,""],related_field:[315,4,1,""]},"evennia.typeclasses.admin.TagAdmin":{fields:[315,4,1,""],list_display:[315,4,1,""],list_filter:[315,4,1,""],media:[315,3,1,""],search_fields:[315,4,1,""]},"evennia.typeclasses.admin.TagForm":{Meta:[315,1,1,""],__init__:[315,3,1,""],base_fields:[315,4,1,""],declared_fields:[315,4,1,""],media:[315,3,1,""],save:[315,3,1,""]},"evennia.typeclasses.admin.TagForm.Meta":{fields:[315,4,1,""]},"evennia.typeclasses.admin.TagFormSet":{save:[315,3,1,""]},"evennia.typeclasses.admin.TagInline":{extra:[315,4,1,""],form:[315,4,1,""],formset:[315,4,1,""],get_formset:[315,3,1,""],media:[315,3,1,""],model:[315,4,1,""],related_field:[315,4,1,""]},"evennia.typeclasses.attributes":{Attribute:[316,1,1,""],AttributeHandler:[316,1,1,""],DbHolder:[316,1,1,""],IAttribute:[316,1,1,""],IAttributeBackend:[316,1,1,""],InMemoryAttribute:[316,1,1,""],InMemoryAttributeBackend:[316,1,1,""],ModelAttributeBackend:[316,1,1,""],NickHandler:[316,1,1,""],NickTemplateInvalid:[316,2,1,""],initialize_nick_templates:[316,5,1,""],parse_nick_template:[316,5,1,""]},"evennia.typeclasses.attributes.Attribute":{DoesNotExist:[316,2,1,""],MultipleObjectsReturned:[316,2,1,""],accountdb_set:[316,4,1,""],attrtype:[316,3,1,""],category:[316,3,1,""],channeldb_set:[316,4,1,""],date_created:[316,3,1,""],db_attrtype:[316,4,1,""],db_category:[316,4,1,""],db_date_created:[316,4,1,""],db_key:[316,4,1,""],db_lock_storage:[316,4,1,""],db_model:[316,4,1,""],db_strvalue:[316,4,1,""],db_value:[316,4,1,""],get_next_by_db_date_created:[316,3,1,""],get_previous_by_db_date_created:[316,3,1,""],id:[316,4,1,""],key:[316,3,1,""],lock_storage:[316,3,1,""],model:[316,3,1,""],objectdb_set:[316,4,1,""],path:[316,4,1,""],scriptdb_set:[316,4,1,""],strvalue:[316,3,1,""],typename:[316,4,1,""],value:[316,3,1,""]},"evennia.typeclasses.attributes.AttributeHandler":{__init__:[316,3,1,""],add:[316,3,1,""],all:[316,3,1,""],batch_add:[316,3,1,""],clear:[316,3,1,""],get:[316,3,1,""],has:[316,3,1,""],remove:[316,3,1,""],reset_cache:[316,3,1,""]},"evennia.typeclasses.attributes.DbHolder":{__init__:[316,3,1,""],all:[316,3,1,""],get_all:[316,3,1,""]},"evennia.typeclasses.attributes.IAttribute":{access:[316,3,1,""],attrtype:[316,3,1,""],category:[316,3,1,""],date_created:[316,3,1,""],key:[316,3,1,""],lock_storage:[316,3,1,""],locks:[316,4,1,""],model:[316,3,1,""],strvalue:[316,3,1,""]},"evennia.typeclasses.attributes.IAttributeBackend":{__init__:[316,3,1,""],batch_add:[316,3,1,""],clear_attributes:[316,3,1,""],create_attribute:[316,3,1,""],delete_attribute:[316,3,1,""],do_batch_delete:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],get:[316,3,1,""],get_all_attributes:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""],reset_cache:[316,3,1,""],update_attribute:[316,3,1,""]},"evennia.typeclasses.attributes.InMemoryAttribute":{__init__:[316,3,1,""],value:[316,3,1,""]},"evennia.typeclasses.attributes.InMemoryAttributeBackend":{__init__:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""]},"evennia.typeclasses.attributes.ModelAttributeBackend":{__init__:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""]},"evennia.typeclasses.attributes.NickHandler":{__init__:[316,3,1,""],add:[316,3,1,""],get:[316,3,1,""],has:[316,3,1,""],nickreplace:[316,3,1,""],remove:[316,3,1,""]},"evennia.typeclasses.managers":{TypedObjectManager:[317,1,1,""]},"evennia.typeclasses.managers.TypedObjectManager":{create_tag:[317,3,1,""],dbref:[317,3,1,""],dbref_search:[317,3,1,""],get_alias:[317,3,1,""],get_attribute:[317,3,1,""],get_by_alias:[317,3,1,""],get_by_attribute:[317,3,1,""],get_by_nick:[317,3,1,""],get_by_permission:[317,3,1,""],get_by_tag:[317,3,1,""],get_dbref_range:[317,3,1,""],get_id:[317,3,1,""],get_nick:[317,3,1,""],get_permission:[317,3,1,""],get_tag:[317,3,1,""],get_typeclass_totals:[317,3,1,""],object_totals:[317,3,1,""],typeclass_search:[317,3,1,""]},"evennia.typeclasses.models":{TypedObject:[318,1,1,""]},"evennia.typeclasses.models.TypedObject":{"delete":[318,3,1,""],Meta:[318,1,1,""],__init__:[318,3,1,""],access:[318,3,1,""],aliases:[318,4,1,""],at_idmapper_flush:[318,3,1,""],at_rename:[318,3,1,""],attributes:[318,4,1,""],check_permstring:[318,3,1,""],date_created:[318,3,1,""],db:[318,3,1,""],db_attributes:[318,4,1,""],db_date_created:[318,4,1,""],db_key:[318,4,1,""],db_lock_storage:[318,4,1,""],db_tags:[318,4,1,""],db_typeclass_path:[318,4,1,""],dbid:[318,3,1,""],dbref:[318,3,1,""],get_absolute_url:[318,3,1,""],get_display_name:[318,3,1,""],get_extra_info:[318,3,1,""],get_next_by_db_date_created:[318,3,1,""],get_previous_by_db_date_created:[318,3,1,""],is_typeclass:[318,3,1,""],key:[318,3,1,""],lock_storage:[318,3,1,""],locks:[318,4,1,""],name:[318,3,1,""],nattributes:[318,4,1,""],ndb:[318,3,1,""],objects:[318,4,1,""],path:[318,4,1,""],permissions:[318,4,1,""],set_class_from_typeclass:[318,3,1,""],swap_typeclass:[318,3,1,""],tags:[318,4,1,""],typeclass_path:[318,3,1,""],typename:[318,4,1,""],web_get_admin_url:[318,3,1,""],web_get_create_url:[318,3,1,""],web_get_delete_url:[318,3,1,""],web_get_detail_url:[318,3,1,""],web_get_puppet_url:[318,3,1,""],web_get_update_url:[318,3,1,""]},"evennia.typeclasses.models.TypedObject.Meta":{"abstract":[318,4,1,""],ordering:[318,4,1,""],verbose_name:[318,4,1,""]},"evennia.typeclasses.tags":{AliasHandler:[319,1,1,""],PermissionHandler:[319,1,1,""],Tag:[319,1,1,""],TagHandler:[319,1,1,""]},"evennia.typeclasses.tags.Tag":{DoesNotExist:[319,2,1,""],MultipleObjectsReturned:[319,2,1,""],accountdb_set:[319,4,1,""],channeldb_set:[319,4,1,""],db_category:[319,4,1,""],db_data:[319,4,1,""],db_key:[319,4,1,""],db_model:[319,4,1,""],db_tagtype:[319,4,1,""],helpentry_set:[319,4,1,""],id:[319,4,1,""],msg_set:[319,4,1,""],objectdb_set:[319,4,1,""],objects:[319,4,1,""],scriptdb_set:[319,4,1,""]},"evennia.typeclasses.tags.TagHandler":{__init__:[319,3,1,""],add:[319,3,1,""],all:[319,3,1,""],batch_add:[319,3,1,""],clear:[319,3,1,""],get:[319,3,1,""],has:[319,3,1,""],remove:[319,3,1,""],reset_cache:[319,3,1,""]},"evennia.utils":{ansi:[321,0,0,"-"],batchprocessors:[322,0,0,"-"],containers:[323,0,0,"-"],create:[324,0,0,"-"],dbserialize:[325,0,0,"-"],eveditor:[326,0,0,"-"],evform:[327,0,0,"-"],evmenu:[328,0,0,"-"],evmore:[329,0,0,"-"],evtable:[330,0,0,"-"],gametime:[331,0,0,"-"],idmapper:[332,0,0,"-"],logger:[337,0,0,"-"],optionclasses:[338,0,0,"-"],optionhandler:[339,0,0,"-"],picklefield:[340,0,0,"-"],search:[341,0,0,"-"],test_resources:[342,0,0,"-"],text2html:[343,0,0,"-"],utils:[344,0,0,"-"],validatorfuncs:[345,0,0,"-"]},"evennia.utils.ansi":{ANSIMeta:[321,1,1,""],ANSIParser:[321,1,1,""],ANSIString:[321,1,1,""],parse_ansi:[321,5,1,""],raw:[321,5,1,""],strip_ansi:[321,5,1,""],strip_raw_ansi:[321,5,1,""]},"evennia.utils.ansi.ANSIMeta":{__init__:[321,3,1,""]},"evennia.utils.ansi.ANSIParser":{ansi_escapes:[321,4,1,""],ansi_map:[321,4,1,""],ansi_map_dict:[321,4,1,""],ansi_re:[321,4,1,""],ansi_regex:[321,4,1,""],ansi_sub:[321,4,1,""],ansi_xterm256_bright_bg_map:[321,4,1,""],ansi_xterm256_bright_bg_map_dict:[321,4,1,""],brightbg_sub:[321,4,1,""],mxp_re:[321,4,1,""],mxp_sub:[321,4,1,""],parse_ansi:[321,3,1,""],strip_mxp:[321,3,1,""],strip_raw_codes:[321,3,1,""],sub_ansi:[321,3,1,""],sub_brightbg:[321,3,1,""],sub_xterm256:[321,3,1,""],xterm256_bg:[321,4,1,""],xterm256_bg_sub:[321,4,1,""],xterm256_fg:[321,4,1,""],xterm256_fg_sub:[321,4,1,""],xterm256_gbg:[321,4,1,""],xterm256_gbg_sub:[321,4,1,""],xterm256_gfg:[321,4,1,""],xterm256_gfg_sub:[321,4,1,""]},"evennia.utils.ansi.ANSIString":{__init__:[321,3,1,""],capitalize:[321,3,1,""],center:[321,3,1,""],clean:[321,3,1,""],count:[321,3,1,""],decode:[321,3,1,""],encode:[321,3,1,""],endswith:[321,3,1,""],expandtabs:[321,3,1,""],find:[321,3,1,""],format:[321,3,1,""],index:[321,3,1,""],isalnum:[321,3,1,""],isalpha:[321,3,1,""],isdigit:[321,3,1,""],islower:[321,3,1,""],isspace:[321,3,1,""],istitle:[321,3,1,""],isupper:[321,3,1,""],join:[321,3,1,""],ljust:[321,3,1,""],lower:[321,3,1,""],lstrip:[321,3,1,""],partition:[321,3,1,""],raw:[321,3,1,""],re_format:[321,4,1,""],replace:[321,3,1,""],rfind:[321,3,1,""],rindex:[321,3,1,""],rjust:[321,3,1,""],rsplit:[321,3,1,""],rstrip:[321,3,1,""],split:[321,3,1,""],startswith:[321,3,1,""],strip:[321,3,1,""],swapcase:[321,3,1,""],translate:[321,3,1,""],upper:[321,3,1,""]},"evennia.utils.batchprocessors":{BatchCodeProcessor:[322,1,1,""],BatchCommandProcessor:[322,1,1,""],read_batchfile:[322,5,1,""],tb_filename:[322,5,1,""],tb_iter:[322,5,1,""]},"evennia.utils.batchprocessors.BatchCodeProcessor":{code_exec:[322,3,1,""],parse_file:[322,3,1,""]},"evennia.utils.batchprocessors.BatchCommandProcessor":{parse_file:[322,3,1,""]},"evennia.utils.containers":{Container:[323,1,1,""],GlobalScriptContainer:[323,1,1,""],OptionContainer:[323,1,1,""]},"evennia.utils.containers.Container":{__init__:[323,3,1,""],all:[323,3,1,""],get:[323,3,1,""],load_data:[323,3,1,""],storage_modules:[323,4,1,""]},"evennia.utils.containers.GlobalScriptContainer":{__init__:[323,3,1,""],all:[323,3,1,""],get:[323,3,1,""],load_data:[323,3,1,""],start:[323,3,1,""]},"evennia.utils.containers.OptionContainer":{storage_modules:[323,4,1,""]},"evennia.utils.create":{create_account:[324,5,1,""],create_channel:[324,5,1,""],create_help_entry:[324,5,1,""],create_message:[324,5,1,""],create_object:[324,5,1,""],create_script:[324,5,1,""]},"evennia.utils.dbserialize":{dbserialize:[325,5,1,""],dbunserialize:[325,5,1,""],do_pickle:[325,5,1,""],do_unpickle:[325,5,1,""],from_pickle:[325,5,1,""],to_pickle:[325,5,1,""]},"evennia.utils.eveditor":{CmdEditorBase:[326,1,1,""],CmdEditorGroup:[326,1,1,""],CmdLineInput:[326,1,1,""],CmdSaveYesNo:[326,1,1,""],EvEditor:[326,1,1,""],EvEditorCmdSet:[326,1,1,""],SaveYesNoCmdSet:[326,1,1,""]},"evennia.utils.eveditor.CmdEditorBase":{aliases:[326,4,1,""],editor:[326,4,1,""],help_category:[326,4,1,""],help_entry:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],locks:[326,4,1,""],parse:[326,3,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdEditorGroup":{aliases:[326,4,1,""],arg_regex:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdLineInput":{aliases:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdSaveYesNo":{aliases:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],help_cateogory:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],locks:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.EvEditor":{__init__:[326,3,1,""],decrease_indent:[326,3,1,""],deduce_indent:[326,3,1,""],display_buffer:[326,3,1,""],display_help:[326,3,1,""],get_buffer:[326,3,1,""],increase_indent:[326,3,1,""],load_buffer:[326,3,1,""],quit:[326,3,1,""],save_buffer:[326,3,1,""],swap_autoindent:[326,3,1,""],update_buffer:[326,3,1,""],update_undo:[326,3,1,""]},"evennia.utils.eveditor.EvEditorCmdSet":{at_cmdset_creation:[326,3,1,""],key:[326,4,1,""],mergetype:[326,4,1,""],path:[326,4,1,""]},"evennia.utils.eveditor.SaveYesNoCmdSet":{at_cmdset_creation:[326,3,1,""],key:[326,4,1,""],mergetype:[326,4,1,""],path:[326,4,1,""],priority:[326,4,1,""]},"evennia.utils.evform":{EvForm:[327,1,1,""]},"evennia.utils.evform.EvForm":{__init__:[327,3,1,""],map:[327,3,1,""],reload:[327,3,1,""]},"evennia.utils.evmenu":{CmdEvMenuNode:[328,1,1,""],CmdGetInput:[328,1,1,""],CmdYesNoQuestion:[328,1,1,""],EvMenu:[328,1,1,""],EvMenuCmdSet:[328,1,1,""],EvMenuError:[328,2,1,""],EvMenuGotoAbortMessage:[328,2,1,""],InputCmdSet:[328,1,1,""],YesNoQuestionCmdSet:[328,1,1,""],ask_yes_no:[328,5,1,""],get_input:[328,5,1,""],list_node:[328,5,1,""],parse_menu_template:[328,5,1,""],template2menu:[328,5,1,""]},"evennia.utils.evmenu.CmdEvMenuNode":{aliases:[328,4,1,""],auto_help_display_key:[328,4,1,""],func:[328,3,1,""],get_help:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],locks:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.CmdGetInput":{aliases:[328,4,1,""],func:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.CmdYesNoQuestion":{aliases:[328,4,1,""],arg_regex:[328,4,1,""],func:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.EvMenu":{"goto":[328,3,1,""],__init__:[328,3,1,""],close_menu:[328,3,1,""],display_helptext:[328,3,1,""],display_nodetext:[328,3,1,""],extract_goto_exec:[328,3,1,""],helptext_formatter:[328,3,1,""],msg:[328,3,1,""],node_border_char:[328,4,1,""],node_formatter:[328,3,1,""],nodetext_formatter:[328,3,1,""],options_formatter:[328,3,1,""],parse_input:[328,3,1,""],print_debug_info:[328,3,1,""],run_exec:[328,3,1,""],run_exec_then_goto:[328,3,1,""]},"evennia.utils.evmenu.EvMenuCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmenu.InputCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmenu.YesNoQuestionCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmore":{CmdMore:[329,1,1,""],CmdMoreLook:[329,1,1,""],CmdSetMore:[329,1,1,""],EvMore:[329,1,1,""],msg:[329,5,1,""],queryset_maxsize:[329,5,1,""]},"evennia.utils.evmore.CmdMore":{aliases:[329,4,1,""],auto_help:[329,4,1,""],func:[329,3,1,""],help_category:[329,4,1,""],key:[329,4,1,""],lock_storage:[329,4,1,""],search_index_entry:[329,4,1,""]},"evennia.utils.evmore.CmdMoreLook":{aliases:[329,4,1,""],auto_help:[329,4,1,""],func:[329,3,1,""],help_category:[329,4,1,""],key:[329,4,1,""],lock_storage:[329,4,1,""],search_index_entry:[329,4,1,""]},"evennia.utils.evmore.CmdSetMore":{at_cmdset_creation:[329,3,1,""],key:[329,4,1,""],path:[329,4,1,""],priority:[329,4,1,""]},"evennia.utils.evmore.EvMore":{__init__:[329,3,1,""],display:[329,3,1,""],init_django_paginator:[329,3,1,""],init_evtable:[329,3,1,""],init_f_str:[329,3,1,""],init_iterable:[329,3,1,""],init_pages:[329,3,1,""],init_queryset:[329,3,1,""],init_str:[329,3,1,""],page_back:[329,3,1,""],page_end:[329,3,1,""],page_formatter:[329,3,1,""],page_next:[329,3,1,""],page_quit:[329,3,1,""],page_top:[329,3,1,""],paginator:[329,3,1,""],paginator_django:[329,3,1,""],paginator_index:[329,3,1,""],paginator_slice:[329,3,1,""],start:[329,3,1,""]},"evennia.utils.evtable":{ANSITextWrapper:[330,1,1,""],EvCell:[330,1,1,""],EvColumn:[330,1,1,""],EvTable:[330,1,1,""],fill:[330,5,1,""],wrap:[330,5,1,""]},"evennia.utils.evtable.EvCell":{__init__:[330,3,1,""],get:[330,3,1,""],get_height:[330,3,1,""],get_min_height:[330,3,1,""],get_min_width:[330,3,1,""],get_width:[330,3,1,""],reformat:[330,3,1,""],replace_data:[330,3,1,""]},"evennia.utils.evtable.EvColumn":{__init__:[330,3,1,""],add_rows:[330,3,1,""],reformat:[330,3,1,""],reformat_cell:[330,3,1,""]},"evennia.utils.evtable.EvTable":{__init__:[330,3,1,""],add_column:[330,3,1,""],add_header:[330,3,1,""],add_row:[330,3,1,""],get:[330,3,1,""],reformat:[330,3,1,""],reformat_column:[330,3,1,""]},"evennia.utils.gametime":{TimeScript:[331,1,1,""],game_epoch:[331,5,1,""],gametime:[331,5,1,""],portal_uptime:[331,5,1,""],real_seconds_until:[331,5,1,""],reset_gametime:[331,5,1,""],runtime:[331,5,1,""],schedule:[331,5,1,""],server_epoch:[331,5,1,""],uptime:[331,5,1,""]},"evennia.utils.gametime.TimeScript":{DoesNotExist:[331,2,1,""],MultipleObjectsReturned:[331,2,1,""],at_repeat:[331,3,1,""],at_script_creation:[331,3,1,""],path:[331,4,1,""],typename:[331,4,1,""]},"evennia.utils.idmapper":{manager:[333,0,0,"-"],models:[334,0,0,"-"],tests:[335,0,0,"-"]},"evennia.utils.idmapper.manager":{SharedMemoryManager:[333,1,1,""]},"evennia.utils.idmapper.manager.SharedMemoryManager":{get:[333,3,1,""]},"evennia.utils.idmapper.models":{SharedMemoryModel:[334,1,1,""],SharedMemoryModelBase:[334,1,1,""],WeakSharedMemoryModel:[334,1,1,""],WeakSharedMemoryModelBase:[334,1,1,""],cache_size:[334,5,1,""],conditional_flush:[334,5,1,""],flush_cache:[334,5,1,""],flush_cached_instance:[334,5,1,""],update_cached_instance:[334,5,1,""]},"evennia.utils.idmapper.models.SharedMemoryModel":{"delete":[334,3,1,""],Meta:[334,1,1,""],at_idmapper_flush:[334,3,1,""],cache_instance:[334,3,1,""],flush_cached_instance:[334,3,1,""],flush_from_cache:[334,3,1,""],flush_instance_cache:[334,3,1,""],get_all_cached_instances:[334,3,1,""],get_cached_instance:[334,3,1,""],objects:[334,4,1,""],path:[334,4,1,""],save:[334,3,1,""],typename:[334,4,1,""]},"evennia.utils.idmapper.models.SharedMemoryModel.Meta":{"abstract":[334,4,1,""]},"evennia.utils.idmapper.models.WeakSharedMemoryModel":{Meta:[334,1,1,""],path:[334,4,1,""],typename:[334,4,1,""]},"evennia.utils.idmapper.models.WeakSharedMemoryModel.Meta":{"abstract":[334,4,1,""]},"evennia.utils.idmapper.tests":{Article:[335,1,1,""],Category:[335,1,1,""],RegularArticle:[335,1,1,""],RegularCategory:[335,1,1,""],SharedMemorysTest:[335,1,1,""]},"evennia.utils.idmapper.tests.Article":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],category2:[335,4,1,""],category2_id:[335,4,1,""],category:[335,4,1,""],category_id:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],path:[335,4,1,""],typename:[335,4,1,""]},"evennia.utils.idmapper.tests.Category":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],article_set:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],path:[335,4,1,""],regulararticle_set:[335,4,1,""],typename:[335,4,1,""]},"evennia.utils.idmapper.tests.RegularArticle":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],category2:[335,4,1,""],category2_id:[335,4,1,""],category:[335,4,1,""],category_id:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],objects:[335,4,1,""]},"evennia.utils.idmapper.tests.RegularCategory":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],article_set:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],objects:[335,4,1,""],regulararticle_set:[335,4,1,""]},"evennia.utils.idmapper.tests.SharedMemorysTest":{setUp:[335,3,1,""],testMixedReferences:[335,3,1,""],testObjectDeletion:[335,3,1,""],testRegularReferences:[335,3,1,""],testSharedMemoryReferences:[335,3,1,""]},"evennia.utils.logger":{EvenniaLogFile:[337,1,1,""],PortalLogObserver:[337,1,1,""],ServerLogObserver:[337,1,1,""],WeeklyLogFile:[337,1,1,""],log_dep:[337,5,1,""],log_depmsg:[337,5,1,""],log_err:[337,5,1,""],log_errmsg:[337,5,1,""],log_file:[337,5,1,""],log_file_exists:[337,5,1,""],log_info:[337,5,1,""],log_infomsg:[337,5,1,""],log_msg:[337,5,1,""],log_sec:[337,5,1,""],log_secmsg:[337,5,1,""],log_server:[337,5,1,""],log_trace:[337,5,1,""],log_tracemsg:[337,5,1,""],log_warn:[337,5,1,""],log_warnmsg:[337,5,1,""],rotate_log_file:[337,5,1,""],tail_log_file:[337,5,1,""],timeformat:[337,5,1,""]},"evennia.utils.logger.EvenniaLogFile":{num_lines_to_append:[337,4,1,""],readlines:[337,3,1,""],rotate:[337,3,1,""],seek:[337,3,1,""],settings:[337,4,1,""]},"evennia.utils.logger.PortalLogObserver":{emit:[337,3,1,""],prefix:[337,4,1,""],timeFormat:[337,4,1,""]},"evennia.utils.logger.ServerLogObserver":{prefix:[337,4,1,""]},"evennia.utils.logger.WeeklyLogFile":{__init__:[337,3,1,""],shouldRotate:[337,3,1,""],suffix:[337,3,1,""],write:[337,3,1,""]},"evennia.utils.optionclasses":{BaseOption:[338,1,1,""],Boolean:[338,1,1,""],Color:[338,1,1,""],Datetime:[338,1,1,""],Duration:[338,1,1,""],Email:[338,1,1,""],Future:[338,1,1,""],Lock:[338,1,1,""],PositiveInteger:[338,1,1,""],SignedInteger:[338,1,1,""],Text:[338,1,1,""],Timezone:[338,1,1,""],UnsignedInteger:[338,1,1,""]},"evennia.utils.optionclasses.BaseOption":{"default":[338,3,1,""],__init__:[338,3,1,""],changed:[338,3,1,""],deserialize:[338,3,1,""],display:[338,3,1,""],load:[338,3,1,""],save:[338,3,1,""],serialize:[338,3,1,""],set:[338,3,1,""],validate:[338,3,1,""],value:[338,3,1,""]},"evennia.utils.optionclasses.Boolean":{deserialize:[338,3,1,""],display:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Color":{deserialize:[338,3,1,""],display:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Datetime":{deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Duration":{deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Email":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Future":{validate:[338,3,1,""]},"evennia.utils.optionclasses.Lock":{validate:[338,3,1,""]},"evennia.utils.optionclasses.PositiveInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.SignedInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Text":{deserialize:[338,3,1,""]},"evennia.utils.optionclasses.Timezone":{"default":[338,3,1,""],deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.UnsignedInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""],validator_key:[338,4,1,""]},"evennia.utils.optionhandler":{InMemorySaveHandler:[339,1,1,""],OptionHandler:[339,1,1,""]},"evennia.utils.optionhandler.InMemorySaveHandler":{__init__:[339,3,1,""],add:[339,3,1,""],get:[339,3,1,""]},"evennia.utils.optionhandler.OptionHandler":{__init__:[339,3,1,""],all:[339,3,1,""],get:[339,3,1,""],set:[339,3,1,""]},"evennia.utils.picklefield":{PickledFormField:[340,1,1,""],PickledObject:[340,1,1,""],PickledObjectField:[340,1,1,""],PickledWidget:[340,1,1,""],dbsafe_decode:[340,5,1,""],dbsafe_encode:[340,5,1,""],wrap_conflictual_object:[340,5,1,""]},"evennia.utils.picklefield.PickledFormField":{__init__:[340,3,1,""],clean:[340,3,1,""],default_error_messages:[340,4,1,""],widget:[340,4,1,""]},"evennia.utils.picklefield.PickledObjectField":{__init__:[340,3,1,""],formfield:[340,3,1,""],from_db_value:[340,3,1,""],get_db_prep_lookup:[340,3,1,""],get_db_prep_value:[340,3,1,""],get_default:[340,3,1,""],get_internal_type:[340,3,1,""],pre_save:[340,3,1,""],value_to_string:[340,3,1,""]},"evennia.utils.picklefield.PickledWidget":{media:[340,3,1,""],render:[340,3,1,""],value_from_datadict:[340,3,1,""]},"evennia.utils.search":{search_account:[341,5,1,""],search_account_tag:[341,5,1,""],search_channel:[341,5,1,""],search_channel_tag:[341,5,1,""],search_help_entry:[341,5,1,""],search_message:[341,5,1,""],search_object:[341,5,1,""],search_script:[341,5,1,""],search_script_tag:[341,5,1,""],search_tag:[341,5,1,""]},"evennia.utils.test_resources":{EvenniaTest:[342,1,1,""],LocalEvenniaTest:[342,1,1,""],mockdeferLater:[342,5,1,""],mockdelay:[342,5,1,""],unload_module:[342,5,1,""]},"evennia.utils.test_resources.EvenniaTest":{account_typeclass:[342,4,1,""],character_typeclass:[342,4,1,""],exit_typeclass:[342,4,1,""],object_typeclass:[342,4,1,""],room_typeclass:[342,4,1,""],script_typeclass:[342,4,1,""],setUp:[342,3,1,""],tearDown:[342,3,1,""]},"evennia.utils.test_resources.LocalEvenniaTest":{account_typeclass:[342,4,1,""],character_typeclass:[342,4,1,""],exit_typeclass:[342,4,1,""],object_typeclass:[342,4,1,""],room_typeclass:[342,4,1,""],script_typeclass:[342,4,1,""]},"evennia.utils.text2html":{TextToHTMLparser:[343,1,1,""],parse_html:[343,5,1,""]},"evennia.utils.text2html.TextToHTMLparser":{bg_colormap:[343,4,1,""],bgfgstart:[343,4,1,""],bgfgstop:[343,4,1,""],bgstart:[343,4,1,""],bgstop:[343,4,1,""],blink:[343,4,1,""],colorback:[343,4,1,""],colorcodes:[343,4,1,""],convert_linebreaks:[343,3,1,""],convert_urls:[343,3,1,""],fg_colormap:[343,4,1,""],fgstart:[343,4,1,""],fgstop:[343,4,1,""],hilite:[343,4,1,""],inverse:[343,4,1,""],normal:[343,4,1,""],parse:[343,3,1,""],re_bgfg:[343,4,1,""],re_bgs:[343,4,1,""],re_blink:[343,4,1,""],re_blinking:[343,3,1,""],re_bold:[343,3,1,""],re_color:[343,3,1,""],re_dblspace:[343,4,1,""],re_double_space:[343,3,1,""],re_fgs:[343,4,1,""],re_hilite:[343,4,1,""],re_inverse:[343,4,1,""],re_inversing:[343,3,1,""],re_mxplink:[343,4,1,""],re_normal:[343,4,1,""],re_string:[343,4,1,""],re_uline:[343,4,1,""],re_underline:[343,3,1,""],re_unhilite:[343,4,1,""],re_url:[343,4,1,""],remove_backspaces:[343,3,1,""],remove_bells:[343,3,1,""],sub_dblspace:[343,3,1,""],sub_mxp_links:[343,3,1,""],sub_text:[343,3,1,""],tabstop:[343,4,1,""],underline:[343,4,1,""],unhilite:[343,4,1,""]},"evennia.utils.utils":{LimitedSizeOrderedDict:[344,1,1,""],all_from_module:[344,5,1,""],at_search_result:[344,5,1,""],callables_from_module:[344,5,1,""],calledby:[344,5,1,""],check_evennia_dependencies:[344,5,1,""],class_from_module:[344,5,1,""],columnize:[344,5,1,""],crop:[344,5,1,""],datetime_format:[344,5,1,""],dbid_to_obj:[344,5,1,""],dbref:[344,5,1,""],dbref_to_obj:[344,5,1,""],dedent:[344,5,1,""],deepsize:[344,5,1,""],delay:[344,5,1,""],display_len:[344,5,1,""],fill:[344,5,1,""],format_grid:[344,5,1,""],format_table:[344,5,1,""],fuzzy_import_from_module:[344,5,1,""],get_all_typeclasses:[344,5,1,""],get_evennia_pids:[344,5,1,""],get_evennia_version:[344,5,1,""],get_game_dir_path:[344,5,1,""],has_parent:[344,5,1,""],host_os_is:[344,5,1,""],inherits_from:[344,5,1,""],init_new_account:[344,5,1,""],interactive:[344,5,1,""],is_iter:[344,5,1,""],iter_to_str:[344,5,1,""],iter_to_string:[344,5,1,""],justify:[344,5,1,""],latinify:[344,5,1,""],lazy_property:[344,1,1,""],list_to_string:[344,5,1,""],m_len:[344,5,1,""],make_iter:[344,5,1,""],mod_import:[344,5,1,""],mod_import_from_path:[344,5,1,""],object_from_module:[344,5,1,""],pad:[344,5,1,""],percent:[344,5,1,""],percentile:[344,5,1,""],pypath_to_realpath:[344,5,1,""],random_string_from_module:[344,5,1,""],repeat:[344,5,1,""],run_async:[344,5,1,""],safe_convert_to_types:[344,5,1,""],server_services:[344,5,1,""],string_from_module:[344,5,1,""],string_partial_matching:[344,5,1,""],string_similarity:[344,5,1,""],string_suggestions:[344,5,1,""],strip_control_sequences:[344,5,1,""],time_format:[344,5,1,""],to_bytes:[344,5,1,""],to_str:[344,5,1,""],unrepeat:[344,5,1,""],uses_database:[344,5,1,""],validate_email_address:[344,5,1,""],variable_from_module:[344,5,1,""],wildcard_to_regexp:[344,5,1,""],wrap:[344,5,1,""]},"evennia.utils.utils.LimitedSizeOrderedDict":{__init__:[344,3,1,""],update:[344,3,1,""]},"evennia.utils.utils.lazy_property":{__init__:[344,3,1,""]},"evennia.utils.validatorfuncs":{"boolean":[345,5,1,""],color:[345,5,1,""],datetime:[345,5,1,""],duration:[345,5,1,""],email:[345,5,1,""],future:[345,5,1,""],lock:[345,5,1,""],positive_integer:[345,5,1,""],signed_integer:[345,5,1,""],text:[345,5,1,""],timezone:[345,5,1,""],unsigned_integer:[345,5,1,""]},"evennia.web":{urls:[347,0,0,"-"],utils:[348,0,0,"-"],webclient:[353,0,0,"-"],website:[356,0,0,"-"]},"evennia.web.utils":{backends:[349,0,0,"-"],general_context:[350,0,0,"-"],middleware:[351,0,0,"-"],tests:[352,0,0,"-"]},"evennia.web.utils.backends":{CaseInsensitiveModelBackend:[349,1,1,""]},"evennia.web.utils.backends.CaseInsensitiveModelBackend":{authenticate:[349,3,1,""]},"evennia.web.utils.general_context":{general_context:[350,5,1,""],set_game_name_and_slogan:[350,5,1,""],set_webclient_settings:[350,5,1,""]},"evennia.web.utils.middleware":{SharedLoginMiddleware:[351,1,1,""]},"evennia.web.utils.middleware.SharedLoginMiddleware":{__init__:[351,3,1,""],make_shared_login:[351,3,1,""]},"evennia.web.utils.tests":{TestGeneralContext:[352,1,1,""]},"evennia.web.utils.tests.TestGeneralContext":{maxDiff:[352,4,1,""],test_general_context:[352,3,1,""],test_set_game_name_and_slogan:[352,3,1,""],test_set_webclient_settings:[352,3,1,""]},"evennia.web.webclient":{urls:[354,0,0,"-"],views:[355,0,0,"-"]},"evennia.web.webclient.views":{webclient:[355,5,1,""]},"evennia.web.website":{forms:[357,0,0,"-"],templatetags:[358,0,0,"-"],tests:[360,0,0,"-"],urls:[361,0,0,"-"],views:[362,0,0,"-"]},"evennia.web.website.forms":{AccountForm:[357,1,1,""],CharacterForm:[357,1,1,""],CharacterUpdateForm:[357,1,1,""],EvenniaForm:[357,1,1,""],ObjectForm:[357,1,1,""]},"evennia.web.website.forms.AccountForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.AccountForm.Meta":{field_classes:[357,4,1,""],fields:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.forms.CharacterForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.CharacterForm.Meta":{fields:[357,4,1,""],labels:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.forms.CharacterUpdateForm":{base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.EvenniaForm":{base_fields:[357,4,1,""],clean:[357,3,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.ObjectForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.ObjectForm.Meta":{fields:[357,4,1,""],labels:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.templatetags":{addclass:[359,0,0,"-"]},"evennia.web.website.templatetags.addclass":{addclass:[359,5,1,""]},"evennia.web.website.tests":{AdminTest:[360,1,1,""],ChannelDetailTest:[360,1,1,""],ChannelListTest:[360,1,1,""],CharacterCreateView:[360,1,1,""],CharacterDeleteView:[360,1,1,""],CharacterListView:[360,1,1,""],CharacterManageView:[360,1,1,""],CharacterPuppetView:[360,1,1,""],CharacterUpdateView:[360,1,1,""],EvenniaWebTest:[360,1,1,""],IndexTest:[360,1,1,""],LoginTest:[360,1,1,""],LogoutTest:[360,1,1,""],PasswordResetTest:[360,1,1,""],RegisterTest:[360,1,1,""],WebclientTest:[360,1,1,""]},"evennia.web.website.tests.AdminTest":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.ChannelDetailTest":{get_kwargs:[360,3,1,""],setUp:[360,3,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.ChannelListTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterCreateView":{test_valid_access_multisession_0:[360,3,1,""],test_valid_access_multisession_2:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterDeleteView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],test_valid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterListView":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterManageView":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterPuppetView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterUpdateView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],test_valid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.EvenniaWebTest":{account_typeclass:[360,4,1,""],authenticated_response:[360,4,1,""],channel_typeclass:[360,4,1,""],character_typeclass:[360,4,1,""],exit_typeclass:[360,4,1,""],get_kwargs:[360,3,1,""],login:[360,3,1,""],object_typeclass:[360,4,1,""],room_typeclass:[360,4,1,""],script_typeclass:[360,4,1,""],setUp:[360,3,1,""],test_get:[360,3,1,""],test_get_authenticated:[360,3,1,""],test_valid_chars:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.IndexTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.LoginTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.LogoutTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.PasswordResetTest":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.RegisterTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.WebclientTest":{test_get:[360,3,1,""],test_get_disabled:[360,3,1,""],url_name:[360,4,1,""]},"evennia.web.website.views":{AccountCreateView:[362,1,1,""],AccountMixin:[362,1,1,""],ChannelDetailView:[362,1,1,""],ChannelListView:[362,1,1,""],ChannelMixin:[362,1,1,""],CharacterCreateView:[362,1,1,""],CharacterDeleteView:[362,1,1,""],CharacterDetailView:[362,1,1,""],CharacterListView:[362,1,1,""],CharacterManageView:[362,1,1,""],CharacterMixin:[362,1,1,""],CharacterPuppetView:[362,1,1,""],CharacterUpdateView:[362,1,1,""],EvenniaCreateView:[362,1,1,""],EvenniaDeleteView:[362,1,1,""],EvenniaDetailView:[362,1,1,""],EvenniaIndexView:[362,1,1,""],EvenniaUpdateView:[362,1,1,""],HelpDetailView:[362,1,1,""],HelpListView:[362,1,1,""],HelpMixin:[362,1,1,""],ObjectCreateView:[362,1,1,""],ObjectDeleteView:[362,1,1,""],ObjectDetailView:[362,1,1,""],ObjectUpdateView:[362,1,1,""],TypeclassMixin:[362,1,1,""],admin_wrapper:[362,5,1,""],evennia_admin:[362,5,1,""],to_be_implemented:[362,5,1,""]},"evennia.web.website.views.AccountCreateView":{form_valid:[362,3,1,""],success_url:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.AccountMixin":{form_class:[362,4,1,""],model:[362,4,1,""]},"evennia.web.website.views.ChannelDetailView":{attributes:[362,4,1,""],get_context_data:[362,3,1,""],get_object:[362,3,1,""],max_num_lines:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.ChannelListView":{get_context_data:[362,3,1,""],max_popular:[362,4,1,""],page_title:[362,4,1,""],paginate_by:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.ChannelMixin":{access_type:[362,4,1,""],get_queryset:[362,3,1,""],model:[362,4,1,""],page_title:[362,4,1,""]},"evennia.web.website.views.CharacterCreateView":{form_valid:[362,3,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.CharacterDetailView":{access_type:[362,4,1,""],attributes:[362,4,1,""],get_queryset:[362,3,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.CharacterListView":{access_type:[362,4,1,""],get_queryset:[362,3,1,""],page_title:[362,4,1,""],paginate_by:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.CharacterManageView":{page_title:[362,4,1,""],paginate_by:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.CharacterMixin":{form_class:[362,4,1,""],get_queryset:[362,3,1,""],model:[362,4,1,""],success_url:[362,4,1,""]},"evennia.web.website.views.CharacterPuppetView":{get_redirect_url:[362,3,1,""]},"evennia.web.website.views.CharacterUpdateView":{form_class:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.EvenniaCreateView":{page_title:[362,3,1,""]},"evennia.web.website.views.EvenniaDeleteView":{page_title:[362,3,1,""]},"evennia.web.website.views.EvenniaDetailView":{page_title:[362,3,1,""]},"evennia.web.website.views.EvenniaIndexView":{get_context_data:[362,3,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.EvenniaUpdateView":{page_title:[362,3,1,""]},"evennia.web.website.views.HelpDetailView":{get_context_data:[362,3,1,""],get_object:[362,3,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.HelpListView":{page_title:[362,4,1,""],paginate_by:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.HelpMixin":{get_queryset:[362,3,1,""],model:[362,4,1,""],page_title:[362,4,1,""]},"evennia.web.website.views.ObjectCreateView":{model:[362,4,1,""]},"evennia.web.website.views.ObjectDeleteView":{"delete":[362,3,1,""],access_type:[362,4,1,""],model:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.ObjectDetailView":{access_type:[362,4,1,""],attributes:[362,4,1,""],get_context_data:[362,3,1,""],get_object:[362,3,1,""],model:[362,4,1,""],template_name:[362,4,1,""]},"evennia.web.website.views.ObjectUpdateView":{access_type:[362,4,1,""],form_valid:[362,3,1,""],get_initial:[362,3,1,""],get_success_url:[362,3,1,""],model:[362,4,1,""]},"evennia.web.website.views.TypeclassMixin":{typeclass:[362,3,1,""]},evennia:{accounts:[143,0,0,"-"],commands:[149,0,0,"-"],comms:[172,0,0,"-"],contrib:[178,0,0,"-"],help:[236,0,0,"-"],locks:[240,0,0,"-"],objects:[243,0,0,"-"],prototypes:[248,0,0,"-"],scripts:[253,0,0,"-"],server:[262,0,0,"-"],set_trace:[141,5,1,""],settings_default:[313,0,0,"-"],typeclasses:[314,0,0,"-"],utils:[320,0,0,"-"],web:[346,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","exception","Python exception"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:exception","3":"py:method","4":"py:attribute","5":"py:function","6":"py:data"},terms:{"000":[0,25,46,82,114,343],"0000":[0,46],"0004":22,"001":[22,127,343],"002":343,"003":343,"004":343,"005":[114,321,343],"006":343,"007":343,"008":343,"009":343,"00sc":124,"010":[25,343],"011":343,"012":343,"013":343,"0131018167":79,"014":343,"015":343,"015public":25,"016":343,"017":343,"018":343,"019":343,"020":343,"020t":25,"021":343,"022":343,"023":343,"024":343,"0247":22,"025":343,"026":343,"027":343,"028":343,"029":343,"030":343,"030a":25,"031":343,"032":343,"033":[321,343],"034":[22,343],"035":343,"036":343,"037":343,"038":343,"039":343,"040":343,"040f":25,"041":343,"042":343,"043":343,"044":343,"045":343,"046":343,"047":343,"048":343,"049":343,"050":[321,343],"050f":25,"051":343,"052":343,"053":343,"054":[114,343],"055":[321,343],"056":343,"057":343,"058":343,"059":343,"060":343,"061":343,"062":343,"062022":363,"063":343,"064":343,"065":343,"066":343,"067":343,"068":343,"069":343,"070":343,"071":343,"072":343,"073":343,"074":343,"075":343,"076":343,"077":343,"078":343,"079":343,"080":343,"081":343,"082":343,"083":343,"084":343,"085":343,"086":343,"087":343,"088":343,"089":343,"090":343,"091":343,"092":343,"093":343,"094":343,"095":343,"096":343,"097":343,"098":343,"099":343,"0b16":24,"0d0":56,"0label":70,"0qoklqey5ebad1f0eyeqaylmcc8o":70,"0x045a0990":42,"0x852be2c":59,"100":[31,43,56,73,85,93,111,125,169,185,188,217,220,221,343,344,362],"1000":[56,93,100,116,217,218,219,220,221,251],"10000":362,"1000000":[82,93,337],"100m":343,"100mb":90,"100x100":70,"101":[31,247,343],"101m":343,"102":343,"102m":343,"103":343,"103m":343,"104":343,"104m":343,"105":343,"105m":343,"106":343,"106m":343,"107":343,"107m":343,"108":343,"108m":343,"109":343,"1098":125,"109m":343,"10m":67,"110":[321,329,343],"1106db5a5e1a":122,"110m":343,"111":[12,43,114,157,343],"111m":343,"112":343,"112m":343,"113":[90,343],"113m":343,"114":343,"114m":343,"115":343,"115600":56,"115m":343,"116":343,"116m":343,"117":343,"1172":138,"117m":343,"118":[115,343],"1184":23,"118m":343,"119":343,"119m":343,"11e7":101,"120":[31,343],"1200":327,"120m":343,"121":343,"121m":343,"122":343,"122m":343,"123":[131,134,247,343],"1234":[54,109,203],"123dark":81,"123m":343,"124":343,"12400":82,"124m":343,"125":343,"125m":343,"126":343,"126m":343,"127":[8,9,24,63,67,90,287,343],"127m":343,"128":343,"128m":343,"129":343,"129m":343,"12s":27,"130":343,"130m":343,"131":343,"131m":343,"132":343,"132m":343,"133":343,"133m":343,"134":[12,43,157,343],"134m":343,"135":343,"135m":343,"136":343,"136m":343,"137":343,"137m":343,"138":343,"138m":343,"139":343,"139m":343,"140":[25,42,141,343],"1400":327,"140313967648552":33,"140m":343,"141":[139,343],"141m":343,"142":[22,180,343],"1424724909023":70,"142m":343,"143":343,"143m":343,"144":343,"144m":343,"145":343,"145m":343,"146":343,"146m":343,"147":343,"147m":343,"148":343,"148m":343,"149":343,"149m":343,"150":[326,343],"150m":343,"151":343,"151m":343,"152":343,"152m":343,"153":343,"153m":343,"154":343,"154m":343,"155":343,"155m":343,"156":[127,343],"156m":343,"157":343,"1577865600":62,"157m":343,"158":343,"158m":343,"159":343,"159m":343,"160":343,"160m":343,"161":343,"161m":343,"162":343,"162m":343,"163":343,"163m":343,"164":343,"164m":343,"165":343,"165m":343,"166":343,"166m":343,"167":343,"167m":343,"168":343,"168m":343,"169":343,"169m":343,"16m":343,"170":343,"170m":343,"171":343,"171m":343,"172":343,"172m":343,"173":343,"1730":79,"173m":343,"174":343,"174m":343,"175":343,"175m":343,"176":343,"1764":119,"176m":343,"177":343,"177m":343,"178":343,"178m":343,"179":343,"179m":343,"17m":343,"180":343,"180m":343,"181":343,"181m":343,"182":343,"182m":343,"183":343,"183m":343,"184":343,"184m":343,"185":343,"185m":343,"186":343,"186m":343,"187":343,"187m":343,"188":343,"188m":343,"189":343,"189m":343,"18m":343,"190":343,"1903":119,"190m":343,"191":343,"191m":343,"192":343,"192m":343,"193":343,"193m":343,"194":343,"194m":343,"195":343,"195m":343,"196":343,"196m":343,"197":343,"1970":62,"197m":343,"198":343,"198m":343,"199":343,"1996":79,"1998":79,"199m":343,"19m":343,"1_7":127,"1d100":[73,185],"1d2":56,"1d6":73,"1gb":90,"1st":62,"200":[343,360],"2001":79,"2003":79,"2004":79,"2008":344,"200m":343,"201":343,"2010":343,"2011":[124,181,214,232],"2012":[179,185,186,187],"2013":79,"2014":[21,213],"2015":[24,189,205,206],"2016":[99,199,202,212,214],"2017":[62,90,97,182,183,184,190,204,209,210,215,217,218,219,220,221,234,235],"2018":[9,180,188,198,203],"2019":[79,187],"201m":343,"202":343,"2020":[12,62,230,363],"2020_01_29":337,"2020_01_29__1":337,"2020_01_29__2":337,"202m":343,"203":[90,343],"203m":343,"204":343,"2048":67,"204m":343,"205":[327,343],"205m":343,"206":343,"206m":343,"207":343,"2076":119,"207m":343,"208":[91,343],"208m":343,"209":343,"209m":343,"20i":70,"20label":70,"20m":343,"210":343,"210m":343,"211":343,"211m":343,"212":[12,343],"2128":56,"212m":343,"213":343,"213m":343,"214":343,"214m":343,"215":343,"215m":343,"216":343,"216m":343,"217":343,"217m":343,"218":343,"218m":343,"219":[9,343],"219m":343,"21m":343,"220":343,"2207":204,"220m":343,"221":[322,343],"221m":343,"222":[114,321,343],"222m":343,"223":[12,343],"223m":343,"224":343,"224m":343,"225":[12,343],"225m":343,"226":343,"226m":343,"227":343,"227m":343,"228":343,"228m":343,"229":343,"22916c25":122,"229m":343,"22m":[321,343],"22nd":344,"230":[114,343],"230m":343,"231":343,"231m":343,"232":343,"232m":343,"233":[12,43,157,343],"233m":343,"234":[183,343],"234m":343,"235":343,"235m":343,"236":343,"236m":343,"237":[12,343],"237m":343,"238":343,"238m":343,"239":343,"239m":343,"23m":343,"240":343,"240m":343,"241":343,"241m":343,"242":343,"242m":343,"243":343,"243m":343,"244":343,"244m":343,"245":343,"245m":343,"246":343,"246m":343,"247":343,"247m":343,"248":343,"248m":343,"249":343,"249m":343,"24m":343,"250":343,"250m":343,"251":343,"251m":343,"252":343,"252m":343,"253":343,"253m":343,"254":343,"254m":343,"255":[24,321,343],"255fdonatecc":70,"255flg":70,"255fu":70,"255m":343,"256":[12,43,114,156,321],"25m":343,"26m":343,"27m":343,"280":71,"28comput":37,"28gmcp":291,"28m":343,"294267":101,"29m":343,"2d6":[58,185],"2gb":90,"2m1uhse7":133,"2pm6ywo":37,"300":[114,126,184,331],"3000000":82,"302":360,"30773728":101,"30m":[321,343],"31m":[321,343],"31st":62,"32bit":[24,63],"32m":[321,343],"32nd":58,"333":[12,114],"33333":59,"33m":[321,343],"340":56,"34m":[321,343],"358283996582031":93,"35m":[321,343],"360":62,"3600":62,"36m":[321,343],"37m":[321,343],"3872":119,"38m":343,"39m":343,"3abug":70,"3aissu":70,"3amast":70,"3aopen":70,"3c3ccec30f037be174d3":344,"3d6":185,"3rd":62,"4000":[9,36,63,67,75,90,95,100,101,103],"4001":[3,4,8,9,36,63,67,69,75,90,95,100,101,103,133,134,135,137,296],"4002":[8,36,67,90,100],"4003":90,"4004":90,"4005":90,"4006":90,"403":131,"404":69,"40m":[321,343],"41917":287,"41dd":122,"41m":[321,343],"4201":90,"425":321,"4280":55,"42m":[321,343],"430000":62,"431":321,"43m":[321,343],"443":[8,67,103],"444":114,"446ec839f567":122,"44m":[321,343],"45m":[27,321,343],"46d63c6d":122,"46m":[321,343],"474a3b9f":92,"47m":[321,343],"48m":343,"4993":94,"49be2168a6b8":101,"49m":343,"4er43233fwefwfw":9,"4th":[38,79],"500":[114,126,321,362],"50000":82,"500red":321,"502916":127,"503435":127,"505":321,"50m":343,"50mb":90,"5102":94,"516106":56,"51m":343,"520":114,"52m":343,"53d":122,"53m":343,"54m":343,"550":[321,327],"550n":25,"551e":25,"552w":25,"553b":25,"554i":25,"555":[114,204,321],"555e":25,"55m":343,"565000":62,"56m":343,"577349":343,"57kuswhxq":133,"57m":343,"5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9":70,"5885d80a13c0db1f8e263663d3faee8d66f31424b43e9a70645c907a6cbd8fb4":37,"58m":343,"593":344,"59m":343,"5d5":56,"5x5":111,"600":[122,344],"60m":343,"614":138,"61m":343,"6299":122,"62cb3a1a":92,"62m":343,"6320":94,"63m":343,"64m":343,"6564":94,"65m":343,"6666":40,"6667":[43,72,79,146,164,308],"66m":343,"67m":343,"6833":94,"68m":343,"69m":343,"6d6":56,"70982813835144":93,"70m":343,"71m":343,"72m":343,"73m":343,"74m":343,"75m":343,"760000":62,"76m":343,"775":36,"77m":343,"78m":343,"7993":94,"7998":94,"79m":343,"7asq0rflw":122,"8080":90,"80m":343,"8111":36,"81m":343,"82m":343,"83m":343,"849":122,"84m":343,"85000":82,"85m":343,"86400":120,"86m":343,"87d6":122,"87m":343,"8820":101,"8859":[15,113],"88m":343,"89m":343,"8f64fec2670c":90,"900":[188,327],"9000":357,"90m":343,"90s":345,"91m":343,"92m":343,"93m":343,"94m":343,"95m":343,"96m":343,"97m":343,"981":204,"98m":343,"990":327,"99999":61,"99m":343,"9cdc":122,"\u6d4b\u8bd5":25,"abstract":[47,64,86,119,221,316,317,318,334,338,344],"boolean":[13,33,133,137,154,185,188,242,247,259,287,316,319,321,322,338,345],"break":[10,12,14,30,37,42,51,54,57,58,61,91,96,103,108,111,114,125,137,141,166,167,202,226,276,328,329,344],"byte":[15,27,94,113,269,276,278,287,295,344],"case":[1,6,8,10,11,12,13,14,15,21,22,25,27,28,29,31,33,34,37,38,40,41,42,43,44,46,49,51,55,58,59,60,61,62,64,69,74,79,80,81,82,83,86,88,89,91,95,96,100,102,103,105,107,108,109,110,111,113,114,116,119,120,121,123,125,127,128,131,133,137,144,146,151,153,156,159,165,166,167,170,175,176,179,180,182,185,187,188,196,204,206,211,226,233,238,239,241,242,247,251,256,258,272,276,280,284,298,305,308,316,317,318,319,321,323,334,341,344,349],"catch":[15,26,27,30,43,51,58,87,91,97,102,115,118,146,165,233,257,267,272,279,305,306,316,326,328,334,337,340,362],"char":[43,56,58,71,73,85,88,105,111,116,117,119,120,133,144,159,165,189,233,247,264,277,290,291,312,321,327,330],"class":[1,2,3,5,6,10,11,12,16,17,20,21,25,26,28,29,30,31,38,39,40,42,43,44,47,49,50,52,53,55,56,57,58,60,61,62,64,68,71,73,77,81,82,85,86,89,91,97,102,105,109,116,117,118,119,120,121,123,124,132,133,134,135,144,145,146,147,148,149,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,195,196,198,199,202,203,204,205,206,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,237,238,239,242,243,244,245,246,247,249,251,252,254,255,256,257,258,259,260,261,263,264,265,267,269,270,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,300,303,305,306,307,308,310,311,312,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,349,351,352,357,360,362],"const":234,"default":[0,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,27,29,31,32,33,34,35,36,38,39,40,41,42,45,46,47,49,50,51,53,56,57,58,59,62,63,64,65,66,67,68,69,71,72,75,76,77,81,82,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,103,104,105,106,107,109,111,112,113,114,116,117,118,119,121,123,124,125,126,127,128,129,131,133,134,135,136,138,139,140,141,142,144,145,146,148,149,150,151,152,153,154,175,177,179,180,181,182,183,184,185,186,187,188,189,190,193,195,196,199,202,203,205,206,209,210,212,213,214,215,217,218,219,220,221,226,231,233,234,235,236,238,239,240,242,247,251,252,256,257,259,260,261,265,267,269,271,272,273,277,289,290,291,296,298,299,305,306,307,308,312,313,316,317,318,319,321,323,324,326,328,329,330,333,334,337,338,339,340,341,344,345,349,357,362,364],"export":75,"final":[10,23,26,27,29,33,36,38,39,41,43,58,63,67,68,69,70,73,76,80,83,85,86,102,103,105,109,114,116,123,125,126,127,133,134,136,150,151,152,159,164,168,185,215,242,252,304,308,321,323,328,329],"float":[38,49,114,146,184,194,195,198,260,267,279,317,331,340,344],"function":[3,4,5,6,9,10,11,13,14,18,19,20,21,23,25,26,27,29,33,34,37,38,40,41,43,44,46,48,50,52,55,57,58,59,60,61,62,63,64,68,69,73,74,75,77,81,82,83,85,86,88,91,93,96,104,106,107,108,109,110,111,115,118,119,121,122,123,124,125,127,128,133,134,135,137,138,140,141,144,148,151,153,154,156,157,158,159,160,164,165,166,167,169,170,175,176,179,180,181,184,185,187,188,190,194,195,198,199,203,205,206,211,212,215,217,218,219,220,221,226,230,232,233,234,235,239,240,241,242,247,250,251,252,257,259,260,261,267,272,276,287,288,293,296,299,306,308,310,318,319,320,321,322,324,325,326,328,329,331,337,338,339,343,344,345,350,362],"g\u00e9n\u00e9ral":79,"goto":[85,230,328],"import":[0,2,3,4,5,6,9,10,11,13,14,15,16,19,20,21,22,25,27,28,29,30,31,33,39,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,68,69,71,72,73,74,76,77,80,81,82,83,84,85,86,89,90,91,93,94,96,97,102,103,104,105,106,107,110,111,112,113,114,115,116,117,118,119,120,121,123,125,126,127,132,133,134,135,136,137,138,140,141,153,159,169,170,179,180,181,182,183,184,185,187,188,198,199,202,204,205,206,212,213,215,217,218,219,220,221,226,232,233,235,238,242,251,252,261,267,271,279,280,301,305,308,309,316,318,322,323,326,327,328,329,330,341,342,344,362],"int":[11,25,31,39,49,51,56,58,74,85,91,114,123,125,134,144,146,151,152,154,176,179,182,184,185,188,190,192,194,195,198,206,215,217,218,219,220,221,234,247,252,258,260,261,264,265,267,271,272,276,277,278,279,281,285,286,287,295,296,298,308,310,312,316,317,321,324,326,327,328,329,330,331,334,337,341,344],"long":[9,10,15,20,22,23,25,26,27,29,33,37,38,40,43,44,46,49,51,52,55,58,60,62,64,68,71,72,73,78,79,80,81,85,86,87,90,105,108,111,113,115,118,121,125,126,127,129,131,133,135,138,139,156,159,166,179,186,195,203,213,220,234,276,281,296,321,322,329,330,344],"new":[0,2,5,9,11,12,13,14,16,19,20,21,22,23,24,25,26,27,29,31,33,34,35,36,37,38,39,40,41,43,44,45,49,50,51,54,55,57,61,62,63,64,65,67,68,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,88,89,90,91,92,93,94,95,96,98,100,101,104,105,106,107,108,109,111,112,116,117,118,121,122,123,124,128,129,131,132,134,135,136,137,138,139,144,145,146,152,153,154,156,157,159,164,166,167,169,170,171,173,175,180,181,182,186,187,188,192,195,199,202,203,204,205,206,212,213,215,217,218,219,220,221,231,232,233,235,239,242,244,246,247,249,251,252,254,256,259,260,261,264,267,276,277,278,279,285,286,287,292,299,307,308,312,316,317,318,319,321,322,324,327,328,329,330,334,337,338,344,360,362,363,364],"null":[8,86,315],"public":[25,34,41,43,58,65,67,72,90,93,100,103,131,134,164,247,312,330],"return":[3,4,6,10,11,15,20,21,22,25,27,28,29,30,33,36,38,39,40,41,42,43,44,48,49,50,52,58,60,62,64,68,69,71,73,74,76,77,80,81,82,83,85,89,91,93,95,96,97,100,102,103,107,108,109,110,111,112,114,116,117,118,119,121,123,125,127,129,133,134,137,138,144,145,146,148,150,151,152,153,154,156,159,164,166,169,170,175,176,177,179,180,182,184,185,187,188,190,192,193,194,195,198,199,203,204,205,206,210,211,212,215,217,218,219,220,221,223,226,230,231,232,233,234,235,237,238,239,241,242,244,246,247,249,250,251,252,257,258,259,260,261,264,265,267,272,273,276,277,279,280,281,282,284,285,286,287,288,290,291,292,294,295,296,298,299,305,306,308,310,311,312,315,316,317,318,319,321,322,323,324,325,326,328,329,330,331,334,337,338,339,340,341,343,344,345,350,357,362],"short":[20,22,29,38,39,42,46,51,54,57,58,61,62,70,71,83,87,89,95,96,103,110,112,114,123,129,137,140,164,180,182,195,202,205,206,234,252,322,344],"static":[38,49,58,83,94,124,127,135,136,137,139,180,192,206,214,312,324,355,362,364],"super":[5,22,25,31,40,41,49,57,58,60,62,81,89,96,118,121,123,125,180,182,206],"switch":[0,2,9,10,13,14,16,19,20,23,25,31,33,34,43,46,50,58,65,68,72,76,80,81,82,88,90,98,114,116,121,122,123,125,126,129,131,137,138,156,157,158,159,164,165,166,167,169,185,187,199,202,203,218,226,256,318,324,329,345],"th\u00ed":20,"throw":[11,22,43,66,75,109,131,133,153,260,344],"true":[1,2,4,5,10,11,13,20,21,22,25,26,27,29,31,33,34,38,40,41,49,50,51,54,56,58,62,65,66,68,69,72,74,76,80,81,83,84,85,86,87,90,91,96,98,100,102,105,114,115,116,117,120,121,122,123,125,126,127,133,135,137,138,144,148,150,152,153,154,156,159,164,166,167,170,173,175,176,177,179,180,182,183,184,185,188,190,192,195,203,204,205,206,212,215,217,218,219,220,221,226,230,231,235,237,241,242,244,246,247,249,251,252,254,256,257,258,259,260,261,263,265,267,272,273,276,278,285,290,295,296,306,308,310,312,315,316,317,318,321,324,326,328,329,330,331,334,339,340,341,344,345],"try":[0,4,5,6,8,9,10,11,12,13,15,16,20,21,22,23,25,26,27,29,30,38,39,42,43,44,46,48,49,50,51,54,55,56,57,58,60,61,63,64,65,66,67,68,69,73,74,75,77,80,81,86,90,91,93,95,96,97,102,103,108,109,110,111,113,118,119,120,121,123,124,126,127,133,134,135,136,137,138,140,144,148,152,154,159,175,177,179,180,186,196,204,205,206,212,213,217,218,219,220,221,226,231,232,233,235,239,247,251,264,267,276,291,292,296,310,315,316,318,321,323,324,326,327,340,344],"var":[67,83,88,137,209,291,322],"void":56,"while":[0,9,10,11,13,14,20,22,23,25,28,29,31,33,35,37,38,41,43,49,50,51,55,56,57,58,62,63,70,75,83,86,90,91,93,95,96,103,108,109,110,111,114,116,118,119,121,122,124,127,129,133,134,136,137,138,144,156,159,166,167,170,179,188,196,203,204,218,221,226,231,233,235,247,252,259,291,314,315,318,328,330,344,345,362,363],AIs:79,AND:[43,73,80,119,159,188,242,316],ARE:77,AWS:[90,100],Adding:[18,32,33,45,57,60,71,82,85,108,116,124,139,166,187,328,364],Age:[188,357],And:[0,4,9,10,11,21,22,25,26,29,33,36,41,42,46,51,57,61,62,69,73,80,86,91,96,105,111,126,133,138,153,182,215,217,218,219,220,221,364],Are:[33,61,79,82,328],Aye:46,BGs:126,Being:[58,81,122,123],But:[0,6,10,11,13,15,20,21,22,25,26,27,28,29,31,33,37,38,39,41,42,44,51,54,55,57,59,60,61,62,64,69,72,73,80,82,83,85,86,91,95,96,100,102,104,107,109,111,114,119,125,126,127,133,134,138,152,153,179,319,362],DNS:[67,90],DOING:188,DoS:285,Doing:[29,33,43,55,73,134,153,156],For:[0,2,5,6,8,9,12,13,14,16,17,19,20,21,22,23,25,27,29,31,33,36,37,38,39,41,42,43,46,49,51,55,56,57,58,59,62,63,64,69,72,73,76,79,80,81,83,85,86,88,90,91,93,95,96,98,100,102,103,105,109,110,111,113,114,116,121,123,126,127,129,131,132,133,134,135,136,138,139,140,144,152,153,159,164,166,169,175,176,177,180,182,185,187,188,189,198,206,212,214,215,218,231,239,242,247,252,260,287,296,316,318,321,325,328,338,340,344,357,362,364],GMs:58,Going:234,Has:[24,217,218,219,220,221],His:[57,189],IDE:[38,48,106],IDEs:57,IDs:[0,100,133,134,194,316,344],INTO:[43,159,188],IOS:24,IPs:[12,103,209,310],IRE:[88,291],Its:[41,62,69,80,83,86,89,105,164,189,226,252,326,328,344],LTS:97,NOT:[11,25,33,43,80,90,103,119,137,159,242,252,310,364],Not:[8,24,30,41,54,57,61,74,90,108,112,115,127,131,132,133,137,146,153,167,247,264,277,278,279,281,282,283,289,291,294,316,317,338],OBS:[19,43],ONE:103,Obs:127,One:[0,8,12,20,22,25,29,34,36,38,46,49,51,57,58,60,63,64,69,76,79,80,87,91,94,95,102,105,110,115,117,121,123,126,128,130,131,132,138,141,148,150,179,185,205,215,231,232,251,252,277,305,315,316,317,321,322,328,329,344],PRs:131,Such:[6,13,28,33,37,43,48,51,57,64,73,127,159,252,321,328],THAT:91,THE:188,THEN:[153,188],THERE:188,TLS:103,That:[0,3,4,9,10,15,21,22,25,26,31,33,39,41,42,46,49,55,57,62,64,68,69,73,74,77,91,93,95,96,98,102,105,111,112,115,119,122,125,127,131,134,136,138,140,179,180,186,215,242,252,308,328],The:[0,2,4,5,6,7,8,9,12,15,17,20,21,23,24,25,27,28,30,31,33,34,36,37,38,39,40,42,43,44,45,48,52,53,54,55,56,57,59,60,61,62,63,64,66,67,68,70,72,73,74,75,76,78,79,80,81,82,84,86,87,88,89,90,91,92,94,95,97,98,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,118,119,120,121,122,124,125,126,127,128,129,131,132,133,134,136,137,138,139,140,144,146,147,148,150,151,152,153,154,156,159,163,164,165,166,167,168,169,170,171,173,175,176,177,179,180,182,184,185,186,187,188,189,190,192,193,194,195,198,199,203,204,205,206,212,213,215,217,218,219,220,221,223,226,230,231,232,233,234,235,236,238,239,241,242,246,247,249,250,251,252,255,256,257,258,259,260,261,264,265,266,267,269,271,272,274,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,294,295,296,298,299,304,305,306,307,308,312,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,334,337,338,339,340,341,342,344,345,357,362,363,364],Their:[51,73,103,109,114,124,189],Theirs:189,Then:[0,9,15,22,38,39,41,42,46,56,61,63,69,91,93,100,107,127,131,137,187],There:[0,5,8,10,11,13,14,15,19,20,21,22,23,25,26,27,31,33,34,38,41,46,49,51,55,57,58,60,61,62,64,68,69,72,73,77,79,80,81,85,86,88,89,90,91,93,95,96,97,98,102,103,104,105,107,108,111,112,113,114,116,117,118,119,121,123,125,127,128,133,136,138,139,167,187,188,215,217,218,219,220,221,235,252,261,272,291,308,321,322,328,363],These:[0,4,5,9,11,13,17,22,25,33,34,35,38,39,40,43,47,49,51,59,61,65,68,69,73,74,83,86,88,90,91,95,96,100,102,103,105,107,109,110,111,112,114,119,121,122,124,125,127,131,133,137,138,139,143,144,145,150,152,154,156,158,160,164,168,176,180,184,198,199,203,205,206,210,226,233,238,242,247,251,252,261,266,273,292,295,296,298,307,308,309,316,318,321,325,328,329,330,337,338,339,344],USE:[241,364],Use:[1,2,4,5,8,9,12,13,14,20,22,23,24,25,31,38,43,48,51,54,58,60,63,65,69,70,89,90,93,95,96,100,105,109,114,116,122,123,125,127,131,137,144,151,156,157,159,164,165,166,169,171,175,179,180,184,186,199,202,203,204,206,218,219,220,221,234,244,246,247,269,273,278,295,296,298,299,302,316,318,321,327,328,330,334,341,344],Used:[33,43,121,139,150,153,159,188,202,215,235,246,259,269,287,316,318,329,330,344,350],Useful:[12,51,90],Uses:[114,159,171,186,209,231,267,316,330,334],Using:[18,22,27,43,46,51,55,58,60,62,68,80,91,96,115,121,123,139,159,206,218,226,234,247,287,314,328,364],VCS:36,VHS:188,VPS:90,WILL:[24,91],WIS:58,WITH:[23,188],Was:164,Will:[31,38,74,110,114,144,164,184,204,206,247,250,252,265,267,276,277,318,328,330,331,339,344],With:[8,11,15,19,23,55,57,77,87,100,111,114,122,123,141,144,180,206,247,252,316,321],Yes:[33,138,188,326,328],__1:337,__2:337,_________________:125,_________________________:51,______________________________:51,________________________________:51,_________________________________:125,______________________________________:328,______________________________________________:51,_______________________________________________:51,____________________________________________________:51,_________________________________________________________:85,__________________________________________________________:85,__all__:[145,237,244],__defaultclasspath__:318,__doc__:[33,43,59,68,154,167,169,170,239,324,328],__example__:97,__ge__:97,__getitem__:321,__init_:330,__init__:[3,6,11,40,47,49,53,96,97,107,125,152,153,154,177,179,180,192,204,206,234,242,246,247,251,257,258,260,261,264,265,267,269,270,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,298,305,306,308,310,311,312,315,316,318,319,321,323,326,327,328,329,330,337,338,339,340,344,351],__iter__:11,__multimatch_command:168,__noinput_command:[152,168,180,326,328,329],__nomatch_command:[168,180,233,326,328],__settingsclasspath__:318,__unloggedin_look_command:[171,186],_action_thre:51,_action_two:51,_all_:152,_asynctest:293,_attrs_to_sync:307,_attrtyp:316,_cach:318,_cached_cmdset:153,_call_or_get:180,_callable_no:328,_callable_y:328,_callback:[27,261],_char_index:321,_character_dbref:181,_check_password:51,_check_usernam:51,_clean_str:321,_cleanup_charact:116,_code_index:321,_copi:[43,159,247],_creation:125,_data:329,_default:[51,328],_defend:51,_differ:321,_errorcmdset:153,_event:198,_evmenu:328,_famili:119,_file:337,_flag:251,_footer:33,_format_diff_text_and_opt:252,_funcnam:344,_get_a_random_goblin_nam:109,_get_db_hold:[306,318],_get_top:69,_getinput:328,_gettabl:272,_http11clientfactori:269,_init_charact:116,_is_fight:29,_is_in_mage_guild:51,_ital:38,_italic_:54,_loadfunc:326,_menutre:[25,51,328],_monitor:272,_monitor_callback:84,_nicklist_cal:146,_npage:329,_oob_at_:334,_option:51,_page_formatt:329,_pagin:329,_pending_request:312,_permission_hierarchi:241,_ping_cal:146,_playable_charact:[69,133],_postsav:334,_prefix:206,_quell:241,_quitfunc:326,_raw_str:321,_reactor_stop:[284,305],_recog_obj2recog:206,_recog_obj2regex:206,_recog_ref2recog:206,_regex:206,_repeat:272,_safe_contents_upd:246,_savefunc:326,_saver:[11,325],_saverdict:[11,325],_saverlist:[11,325],_saverset:325,_sdesc:206,_select:51,_sensitive_:349,_session:328,_set:119,_set_attribut:51,_set_nam:51,_some_other_monitor_callback:84,_start_delai:261,_static:38,_stop_:344,_stop_serv:284,_templat:38,_test:150,_to_evt:329,_validate_fieldnam:58,_yes_no_quest:328,a076:101,a221:122,a2enmod:8,a8oc3d5b:100,a_off:179,a_python_func:38,aaaaaaa:133,aaaaaaaaezc:133,aaaaaaaaezg:133,aaaaaaaaezi:133,aardwolf:88,abbrevi:[43,76,114,159,202],abcd:[43,165],abi:60,abid:126,abil:[6,10,20,31,33,52,55,56,57,58,60,73,77,80,90,100,102,108,109,123,127,134,137,138,139,205,206,213,217,218,219,220,221,247,259,267,316],abl:[0,3,4,5,8,11,13,14,19,20,21,22,23,26,27,28,29,31,33,36,41,42,43,47,49,51,52,55,57,58,59,60,61,63,64,69,71,73,75,76,81,83,85,86,87,89,90,91,93,95,96,100,103,104,106,109,111,112,114,116,121,122,123,130,131,133,134,138,140,153,156,157,159,160,164,166,175,177,180,184,190,199,206,212,217,218,219,220,221,316,318,325,340,344,360],abod:241,abort:[25,27,33,51,52,77,89,122,144,154,159,175,213,233,247,250,328,329,344],about:[0,3,9,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,30,31,33,36,37,38,39,41,42,44,45,46,48,51,54,55,57,59,60,61,63,64,68,69,70,71,73,75,76,77,78,79,81,83,85,86,90,91,93,94,95,96,97,100,101,103,104,108,109,110,112,113,114,116,118,119,120,123,124,126,127,131,134,135,136,138,139,144,159,166,169,179,180,182,185,214,219,220,221,232,233,239,247,267,269,272,281,283,285,294,296,306,308,315,317,319,321,329,334,344,363],abov:[2,4,8,9,10,11,12,13,14,21,23,24,27,28,29,30,31,33,36,37,40,43,44,46,49,50,51,56,57,58,59,60,62,63,64,67,68,69,74,80,81,84,85,86,90,91,93,95,96,100,102,105,106,109,110,111,112,114,116,118,119,121,123,125,127,131,132,133,135,137,138,140,152,153,159,180,185,188,190,199,204,206,213,214,215,217,219,220,221,242,247,272,315,328,339,350],abridg:41,absolut:[27,38,56,62,79,91,134,182,184,185,189,327,331,344],absorb:74,abspath:344,abstractus:148,abus:[7,103],academi:79,accept:[11,14,22,23,27,31,37,43,51,54,58,59,74,80,88,90,95,96,109,114,115,125,131,133,134,138,144,150,151,169,179,185,188,193,196,204,205,206,213,231,233,241,247,267,272,285,311,312,317,322,328,340,344],accept_callback:[193,195],accesing_obj:241,access:[0,4,7,8,11,12,13,14,19,21,22,23,25,27,29,31,33,34,38,39,40,41,47,49,51,52,53,56,57,58,59,60,63,64,66,68,69,71,73,74,80,83,84,85,86,87,89,90,91,95,96,100,101,102,103,104,105,107,108,109,111,112,114,116,119,121,123,124,125,126,127,128,131,133,134,135,137,139,144,145,148,152,153,154,156,157,159,164,165,166,167,169,175,176,177,180,187,190,192,194,203,205,206,217,218,219,220,221,233,234,239,240,241,242,246,247,250,251,252,256,258,260,261,264,267,276,277,306,308,314,315,316,318,319,322,323,324,337,343,344,357,362],access_obj:[241,316],access_opt:345,access_token_kei:[71,120],access_token_secret:[71,120],access_typ:[43,68,144,154,159,175,177,239,241,242,247,316,318,362],accessed_obj:[25,80,121,241,242],accessing_obj:[1,11,25,80,121,144,175,177,239,241,242,247,316,318],accessing_object:[11,241],accessor:[148,177,239,246,256,316,318,319,335],accessori:63,accident:[15,31,38,43,123,138,157,159,306],accommod:4,accomod:[101,330],accompani:123,accomplish:[12,25,41,49,55],accord:[31,33,111,116,126,180,182,204,205,218,260,321,322],accordingli:[49,58,90,106,234],account1:360,account2:360,account:[0,4,6,9,11,12,14,17,19,20,21,22,24,25,27,31,33,34,35,37,41,45,47,49,50,51,52,53,55,56,57,61,62,65,66,69,71,74,80,81,83,87,89,90,91,92,96,100,104,105,107,108,109,110,111,112,114,119,120,122,123,125,126,127,129,131,133,134,135,138,139,141,142,149,150,151,152,153,154,155,157,159,160,161,164,165,166,167,170,171,175,176,177,180,181,182,184,186,187,188,190,192,193,195,199,206,209,212,217,219,220,221,226,230,231,232,233,235,239,241,242,246,247,249,251,252,253,256,267,271,272,287,298,299,306,307,308,316,318,321,324,328,329,338,339,341,342,344,345,349,357,360,362,364],account_cal:[156,164,167,199],account_count:308,account_id:[133,247],account_mod:159,account_nam:56,account_search:[206,247],account_subscription_set:148,account_typeclass:[342,360],accountattributeinlin:145,accountcmdset:[2,22,31,41,43,57,58,62,156,160,181,199],accountcreateview:362,accountdb:[53,119,125,133,141,144,145,148,175,239,314,315,318,338,345],accountdb_db_attribut:145,accountdb_db_tag:145,accountdb_set:[316,319],accountdbadmin:145,accountdbchangeform:145,accountdbcreationform:145,accountdbmanag:[147,148],accountdbpasswordcheck:287,accountform:[145,357,362],accountid:133,accountinlin:145,accountlist:58,accountmanag:[144,147],accountmixin:362,accountnam:[43,58,159,171,176,186],accounttaginlin:145,accru:144,accur:[22,154,192,218,221,252,260,265,267,269,270,278,287,288,290,292,295,296,316,321,339,340,351],accuraci:[46,91,218,219,220],accus:73,accustom:[87,124],acept:188,achiev:[0,22,27,33,57,114,124,126,138,220,267],ack:52,acquaint:57,acquir:323,across:[16,20,40,51,56,61,86,91,102,105,108,109,125,144,152,153,182,188,205,233,238,247,259,261,264,276,277,291,308,329,330],act:[2,8,13,23,29,31,34,37,43,49,51,56,58,61,70,77,95,102,105,110,111,123,139,141,144,159,164,177,188,215,241,264,276,277,296,316,319,323,328],action1:116,action2:116,action:[0,11,22,29,39,41,42,43,46,51,55,57,61,62,64,73,88,90,91,93,102,114,116,117,118,123,133,138,144,145,146,164,165,175,179,188,206,217,218,219,220,221,226,230,234,238,239,251,256,257,279,298,299,300,310,318,328,329,334],action_count:116,action_nam:[217,218,219,220,221],actiondict:116,actions_per_turn:[217,218,220,221],activ:[4,9,12,13,26,27,28,31,33,36,38,43,61,62,63,64,65,66,72,75,76,79,80,81,83,89,90,93,95,98,102,105,110,114,128,131,135,136,138,144,150,153,157,159,169,175,193,210,226,231,235,246,247,250,260,272,279,280,281,282,283,287,289,290,291,298,308,310,316,317,328,329,330,344],activest:343,actor:[221,247],actual:[2,5,8,10,11,13,14,19,20,21,22,26,27,29,34,36,38,40,41,42,43,44,46,47,49,51,58,59,60,61,63,64,68,69,71,73,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,104,105,106,109,111,112,113,114,115,116,119,121,123,126,127,128,130,133,134,136,137,138,144,150,154,156,159,164,165,167,170,175,177,179,180,182,187,188,198,202,203,205,206,213,214,215,217,218,219,220,221,226,232,233,235,239,241,242,246,247,252,287,290,296,298,304,306,307,308,312,313,316,318,321,323,326,328,334,338,339,340,344,362],actual_return:127,adapt:[0,4,21,40,69,73,133],add:[0,2,5,6,8,9,10,11,13,14,15,16,17,19,20,21,22,24,26,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,57,58,61,62,64,65,66,67,68,69,71,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,98,100,102,104,105,106,109,111,112,113,114,115,116,117,118,119,120,121,123,124,125,127,128,131,132,133,134,135,137,138,139,140,141,144,148,152,153,159,164,165,166,168,170,175,179,180,181,182,183,185,186,187,192,193,195,196,198,199,202,203,205,206,209,212,213,215,217,218,219,220,221,223,226,230,231,232,233,234,241,242,246,247,252,256,257,258,259,260,261,267,272,273,277,280,281,283,285,289,296,298,299,301,309,316,319,322,326,327,328,329,330,334,337,339,340,362,364],add_:330,add_act:116,add_alia:164,add_argu:234,add_callback:[193,195],add_charact:116,add_choic:180,add_choice_:180,add_choice_edit:[22,180],add_choice_quit:[22,180],add_collumn:154,add_column:[58,330],add_condit:219,add_default:[21,31,85,96,121,153],add_dist:221,add_ev:195,add_fieldset:[145,244],add_form:[145,244],add_head:330,add_languag:205,add_row:[58,82,154,330],add_user_channel_alia:175,add_view:[145,173,244],add_xp:73,addcallback:[33,247],addclass:[137,141,142,346,356,358],addcom:[58,164],added:[0,4,5,17,21,22,24,25,27,31,33,34,36,38,40,41,42,43,51,55,57,58,60,65,69,70,73,75,77,78,80,86,88,91,96,100,102,106,108,109,110,111,112,114,116,117,119,121,123,128,131,132,133,138,144,150,152,153,154,164,168,169,179,180,182,183,185,189,192,195,198,205,206,217,218,219,220,221,226,235,242,247,250,252,258,260,272,306,310,316,319,322,328,329,330,337,344,350],addendum:37,adding:[0,3,5,9,14,17,21,22,25,27,29,31,35,36,38,40,43,46,51,57,58,62,69,76,80,81,85,86,91,97,102,104,106,108,109,112,114,115,116,121,123,125,126,128,131,133,137,138,139,152,153,157,159,166,180,184,188,190,192,195,199,205,206,215,217,218,219,220,233,234,251,252,258,267,298,315,316,324,330,344],addingservermxp:282,addit:[4,8,22,25,31,36,37,46,49,50,51,58,62,69,76,82,88,90,91,103,104,109,114,119,134,144,146,153,154,166,175,180,183,192,193,195,205,209,215,221,234,242,247,250,260,278,306,316,318,328,357],addition:[25,111,119,221],additionalcmdset:31,addpart:203,addquot:344,addr:[264,277,278,279,324],address:[3,9,12,23,33,40,43,49,67,87,90,91,103,105,131,135,144,157,175,186,189,247,264,277,279,287,307,310,344,345,363],address_and_port:287,addresult:203,addscript:[43,159],addservic:40,adjac:[221,231],adject:97,adjoin:206,adjust:[0,33,37,63,126,133,190,260,328,330],admin:[2,9,11,12,15,19,21,33,34,41,49,58,61,68,69,72,80,85,86,98,101,110,119,121,123,133,134,138,141,142,143,148,149,155,159,164,169,171,172,175,186,231,236,239,242,243,246,247,253,262,276,277,314,318,324,340,362,363],admin_sit:[145,173,237,244,254,263,315],admin_wrapp:362,administr:[10,23,33,36,41,55,58,63,64,68,80,103,129,139,264,276,277,364],adminportal2serv:276,adminserver2port:276,adminstr:264,admintest:360,admit:39,adopt:[21,22,26,57,64,177,291],advanc:[10,12,13,22,28,31,33,39,40,43,44,51,55,58,64,79,86,93,104,105,108,109,111,119,123,124,125,139,159,167,187,204,206,217,218,219,220,221,226,282,322,326,327,328,330,364],advantag:[3,14,15,28,36,39,46,51,55,56,58,59,62,68,69,73,90,103,104,109,116,118,123,133,179,180,209,215,217,218,219,220,221,319,322],advent:181,adventur:[20,41,77,111,122,124],advic:79,advis:[0,22,25,77],aeioui:119,aesthet:50,aezo:133,affair:323,affect:[11,13,14,19,25,31,33,43,61,62,73,80,81,105,112,114,116,126,127,128,131,138,141,142,144,152,169,183,198,205,212,219,226,240,247,251,318,322,330,338],affili:260,affliat:260,afford:[85,105],afraid:90,after:[0,5,8,9,10,11,14,15,20,21,22,25,27,28,29,30,31,33,36,38,39,41,43,44,46,49,50,51,55,58,60,63,67,68,76,77,79,80,83,85,86,90,91,96,100,102,103,107,114,116,117,121,122,123,126,127,128,130,131,133,136,138,139,144,152,153,154,155,156,159,166,167,169,170,175,179,180,182,184,185,186,187,188,190,195,203,205,206,215,217,218,219,220,221,226,228,231,232,233,234,235,246,247,252,257,259,260,267,289,290,293,305,306,307,308,310,312,316,321,322,323,326,328,329,334,339,342,343,344,362],after_mov:247,afternoon:187,afterthought:48,afterward:[20,29,69,86,91,119,131,180],again:[0,6,12,13,14,20,21,22,23,28,29,33,39,41,42,43,47,48,49,51,54,56,57,58,60,61,62,63,64,67,69,73,76,80,81,85,86,90,91,93,95,96,98,100,102,105,106,110,111,114,116,119,121,123,126,128,131,133,138,146,153,164,170,184,195,204,217,220,221,226,235,259,267,284,287,290,310,321,322,325,340,342],againnneven:170,against:[6,11,21,31,33,37,57,58,83,90,103,116,119,125,127,144,151,152,206,217,218,219,220,221,242,247,251,252,285,310,316,318,341,344],age:[188,234,357],agenc:103,agent:36,agenta:[114,321],ages:188,aggreg:79,aggress:[11,14,75,122,124,139,231,318,364],aggressive_pac:231,agi:[11,60,127],agil:[11,60],agnost:[37,64],ago:[25,100,344],agre:[1,73,113,179],agree:179,ahead:[14,22,24,36,49,61,90,108,121,289],aid:[113,166,167,179,312],aim:[7,55,58,61,73,85,86,90,95,108,126,251],ain:46,ainnev:[73,119],air:[20,21,111],ajax:[40,55,90,137,296,307],ajaxwebcli:296,ajaxwebclientsess:296,aka:[9,11,93,203,344],alarm:[20,82],alert:[175,247],alexandrian:79,algebra:49,algorith:205,algorithm:344,alia:[2,6,9,20,21,22,31,33,41,44,48,51,57,58,59,60,63,87,89,90,95,105,111,112,119,125,127,129,131,145,148,151,154,156,159,164,165,166,167,170,173,175,187,192,206,212,228,231,233,235,237,241,244,246,247,252,254,256,261,272,298,315,317,318,319,324,340,341,342,357,362],alias1:[43,159,187],alias2:[43,159,187],alias3:187,alias:[2,13,20,21,22,25,27,29,31,33,34,41,43,44,45,48,51,58,60,74,81,82,85,87,89,109,111,116,119,123,129,131,140,144,152,154,156,157,158,159,164,165,166,167,168,169,170,171,175,176,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,235,238,239,246,247,252,317,318,319,324,326,328,329,337,341],aliaschan:[43,164],aliasdb:144,aliashandl:[315,319],aliasnam:252,aliasstr:324,align:[41,58,109,114,190,321,330,344],alik:68,alist:97,aliv:[55,231],alkarouri:343,all:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,43,44,46,47,48,49,50,53,54,55,56,57,58,59,60,61,62,63,64,68,70,72,73,74,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,144,145,146,149,150,151,152,153,154,155,156,157,158,159,160,161,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,185,186,187,188,189,192,195,199,202,203,204,205,206,210,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,237,238,239,240,241,242,243,244,246,247,250,251,252,257,258,259,260,261,262,266,267,271,272,273,276,278,279,281,283,284,285,286,287,290,291,294,295,296,298,299,305,306,307,308,310,312,313,314,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,334,337,339,341,343,344,345,350,357,362,363],all_alias:112,all_attr:318,all_connected_account:308,all_displai:261,all_famili:119,all_from_modul:344,all_opt:339,all_receiv:247,all_room:13,all_script:102,all_sessions_portal_sync:308,all_to_categori:238,allcom:164,allerror:[267,276],allevi:[11,108,127,312],allheadersreceiv:312,alli:221,alloc:90,allow:[0,2,3,4,6,8,9,10,11,12,13,14,15,16,19,21,22,23,25,26,27,29,30,31,33,34,36,38,39,41,42,43,44,46,47,49,51,53,54,55,57,58,59,61,63,64,65,68,71,72,73,74,75,76,78,80,81,85,86,87,89,90,91,92,95,96,97,98,100,101,102,103,104,106,108,109,111,112,113,114,116,119,121,123,125,126,129,131,133,134,135,137,138,144,146,148,150,152,153,154,156,157,158,159,164,166,167,169,170,175,176,177,179,180,182,184,185,187,188,189,195,202,204,205,206,215,217,218,219,220,221,226,231,232,233,234,235,239,241,242,247,251,252,257,260,261,267,271,272,274,278,280,281,282,283,290,291,292,294,299,305,306,308,310,311,316,318,319,321,322,324,326,328,329,330,331,334,338,339,340,342,344,357,362],allow_abort:328,allow_dupl:152,allow_nan:296,allow_quit:328,allowed_attr:58,allowed_fieldnam:58,allowed_host:90,allowed_propnam:123,allowedmethod:296,allowext:312,almost:[19,33,41,95,115,119,125,180,182,269,276,314],alon:[13,29,49,51,56,58,73,80,86,87,116,127,138,152,166,261,272,298,322,324,330],alone_suffix:303,along:[5,12,33,43,48,51,60,64,70,74,78,88,91,93,96,100,104,107,114,121,122,139,144,156,179,185,205,209,215,220,242,247,296,314],alongsid:[5,38,67,188],alonw:256,alpha:[54,90,321],alphabet:[15,111,113,321],alreadi:[0,2,5,6,9,11,13,15,21,22,25,27,29,31,33,34,38,40,41,43,46,49,50,51,54,56,57,58,60,61,63,64,68,69,70,72,73,77,80,81,82,85,88,89,91,94,95,96,100,102,103,105,106,109,110,112,116,117,118,119,120,121,123,125,127,128,131,133,134,135,136,137,138,139,152,153,156,159,164,167,169,170,175,176,179,181,182,204,205,206,217,218,219,220,221,231,232,235,242,247,251,252,267,276,284,285,287,292,295,300,305,306,308,316,319,321,324,329,337,344,349],alredi:40,alright:179,also:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,77,79,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,140,144,148,151,152,153,154,156,157,158,159,161,164,165,166,167,169,170,175,176,177,179,180,181,182,185,187,188,190,195,199,202,204,205,206,213,215,219,220,221,226,231,232,233,235,240,241,242,246,247,251,252,253,256,259,260,261,262,267,271,272,276,278,285,287,290,291,294,295,298,299,308,312,314,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,334,341,344,346,362,363],alt:321,alter:[0,4,23,41,64,111,137,316],altern:[23,29,33,34,38,51,55,57,63,64,68,72,76,81,87,90,111,112,114,118,119,122,131,133,138,140,164,167,175,203,206,221,226,241,242,285,321,324,344],although:[22,29,39,42,63,119,156,180,181,185,312,340,344],althougn:46,altogeth:[50,103,114],alu:33,alwai:[0,2,4,6,8,11,12,13,14,20,21,23,25,27,30,31,33,34,37,38,39,43,47,49,51,57,58,61,62,63,64,69,72,73,74,77,80,85,86,88,89,90,91,95,96,102,105,107,109,112,114,115,121,123,125,126,127,128,131,134,135,137,144,152,153,154,156,158,159,164,166,167,170,175,176,177,199,205,206,212,226,241,242,246,247,251,252,261,267,269,272,276,284,287,290,291,295,296,299,306,308,313,316,317,318,319,321,324,334,340,341,344,345,362],always_pag:329,always_return:267,amaz:75,amazon:[79,90],ambianc:108,ambigu:[41,154,189,247,318],ambiti:[108,129],amend:131,amfl:14,ammo:21,among:[2,35,36,43,62,64,79,89,104,111,123,127,165,182,232,242,330,341],amongst:77,amor:196,amount:[11,16,37,43,61,68,73,102,103,114,123,169,217,218,219,220,221,247,308,326],amp:[40,83,92,94,105,141,142,262,264,267,275,277,285,293,305,308],amp_client:[141,142,262],amp_maxlen:293,amp_port:90,amp_serv:[141,142,262,275],ampclientfactori:264,ampersand:108,amphack:276,ampl:124,amplauncherprotocol:267,ampmulticonnectionprotocol:[264,276,277],ampprotocol:264,ampserverclientprotocol:264,ampserverfactori:277,ampserverprotocol:277,amsterdam:90,anaconda:9,analog:[49,83],analys:51,analysi:210,analyz:[15,33,41,51,80,118,150,159,206,247,251,252,257,267,329,344],anchor:[175,221,239,318],anchor_obj:221,ancient:114,andr:24,android:[139,364],anew:[63,111,175,267],angl:129,angri:41,angular:[43,169],ani:[0,1,2,5,6,8,10,11,12,14,15,16,19,20,21,22,23,24,25,27,30,31,33,34,36,37,38,39,40,41,42,43,44,48,49,50,51,54,56,57,58,59,60,61,63,64,65,68,70,72,73,74,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,95,96,97,98,100,102,103,104,105,107,109,112,114,115,116,117,118,119,121,122,123,125,126,127,128,129,131,133,134,135,136,137,138,139,140,144,148,150,151,152,153,154,156,157,159,165,166,169,170,175,176,177,179,180,181,182,186,187,188,189,190,194,199,202,204,205,206,209,210,213,217,218,219,220,221,223,226,231,233,234,235,241,242,247,250,251,252,256,257,259,260,261,264,265,267,269,271,272,276,277,279,285,286,287,290,291,295,296,298,306,307,308,312,316,317,318,319,321,322,323,325,326,327,328,329,330,337,338,339,340,341,343,344,362],anim:[27,52],anna:[43,58,63,72,117,118,123,159],annoi:[12,85,91],annot:79,announc:[25,37,43,79,116,123,128,157,164,169,175,217,218,219,220,221,247],announce_al:[285,308],announce_move_from:[25,77,89,247],announce_move_to:[25,77,89,247],annoy:144,anonym:[4,66,69,206],anonymous_add:206,anoth:[0,8,10,11,13,14,16,21,22,29,31,33,36,39,42,43,46,49,51,56,57,58,62,63,64,67,69,77,78,80,89,90,91,96,97,98,102,105,106,108,109,111,112,113,114,116,121,123,127,131,132,136,137,138,139,140,144,152,153,156,159,164,165,170,175,179,180,182,188,194,199,204,206,215,217,218,219,220,221,232,235,239,247,250,308,316,318,322,326,328,329,344],another_batch_fil:322,another_nod:328,another_script:102,anotherscript:102,ansi:[24,43,53,55,74,81,137,141,142,156,183,190,202,272,279,287,290,295,296,320,330,343,364],ansi_escap:321,ansi_map:321,ansi_map_dict:321,ansi_pars:321,ansi_r:321,ansi_regex:321,ansi_sub:321,ansi_xterm256_bright_bg_map:321,ansi_xterm256_bright_bg_map_dict:321,ansimatch:321,ansimeta:321,ansipars:321,ansistr:[141,321,330],ansitextwrapp:330,answer:[0,11,21,25,26,33,46,51,61,63,67,69,70,73,95,96,103,127,265,271,328],anti:63,anul:8,anwer:44,anybodi:[59,103],anymor:[4,181,195,203,204,235,328,340],anyon:[1,4,12,21,25,29,41,42,54,58,60,76,80,85,90,116,118,119,123,138],anyth:[0,1,5,11,13,16,19,20,22,23,26,29,31,33,34,40,41,42,46,49,51,56,61,63,64,69,73,80,82,83,85,87,89,90,91,94,95,96,100,102,104,106,111,116,118,121,123,125,127,128,130,131,133,135,136,137,138,152,154,168,180,206,215,217,218,219,220,221,242,279,313,316,322,328],anywai:[0,4,14,20,51,55,75,76,91,95,108,114,140,179,181,186],anywher:[33,51,60,64,95,96,125,134,326],apach:[7,23,90,103,139,312,364],apache2:8,apache_wsgi:8,apart:[2,11,20,27,34,47,55,63,80,81,100,104,125,126,127,134,221],api:[13,15,26,27,33,34,42,43,47,48,52,59,60,71,73,89,96,105,109,111,120,125,133,138,139,141,144,158,169,171,177,186,306,316,318,322,323,329,363,364],api_kei:71,api_secret:71,apostroph:15,app:[4,40,71,80,86,134,135,136,138,139],app_id:133,app_label:145,appar:[48,58,126],apparit:233,appeal:[51,61,114],appear:[9,10,21,22,25,26,27,30,38,43,47,48,51,60,63,65,66,68,72,80,82,90,95,96,100,102,104,106,111,114,123,126,127,131,137,138,141,156,166,182,195,206,212,235,247,291,292,315,318,330,337],append:[20,22,25,27,31,39,40,43,49,50,51,68,69,80,85,88,89,90,91,93,96,97,116,123,127,133,138,154,159,166,182,199,206,242,300,322,337,344],appendix:241,appendto:137,appform:133,appl:[179,247],appli:[0,8,9,13,16,22,23,31,33,36,37,51,60,80,81,102,106,111,115,121,125,126,128,133,144,150,152,167,183,217,218,219,220,221,235,242,247,251,252,256,261,308,316,317,318,321,322,327,330,331,341,344],applic:[8,40,63,79,80,86,94,100,103,112,124,128,133,134,135,136,144,187,188,221,267,270,280,284,305,306,312,354,362],applicationdatareceiv:290,applied_d:133,apply_damag:[217,218,219,220,221],apply_turn_condit:219,appnam:[11,80],appreci:[22,37,70,78,334],approach:[22,25,39,56,77,91,106,115,133,180,221],appropri:[8,9,23,31,33,36,55,71,91,106,119,121,129,133,138,144,157,190,267,306,338,340,344],approrpri:40,approv:[133,134,138],approxim:[5,43,169,344],april:62,apt:[8,63,67,75,90,103,131],arbitr:61,arbitrari:[11,13,19,27,46,59,64,80,96,97,100,111,125,137,138,139,140,144,175,187,215,221,233,247,252,259,265,276,296,310,316,325,337,340,344],arcan:129,archer:252,architectur:[80,252],archiv:[79,103],archwizard:252,area:[2,22,24,48,49,51,58,61,79,117,122,127,138,231,235,241,327,328,330,344],aren:[0,4,29,39,69,103,127,131,133,136,138,144,182,188,195,203,219,337,340],arg1:[80,154,167,170,175,316],arg2:[154,167,170,316],arg:[1,5,10,21,22,25,29,30,33,38,39,40,41,42,43,51,58,59,68,71,73,74,80,81,83,85,88,96,109,114,115,116,119,121,123,129,132,137,144,145,146,147,148,151,154,159,167,168,170,175,176,177,179,182,184,187,189,192,195,203,204,205,206,212,213,214,215,217,218,219,220,221,223,226,231,232,233,234,235,238,239,241,242,245,246,247,250,251,252,255,256,259,260,261,264,272,273,274,276,277,278,279,284,285,287,288,290,291,292,295,296,300,306,308,310,312,315,316,317,318,319,321,328,330,331,333,334,337,340,342,344,345,357,362],arg_regex:[41,44,154,159,165,166,170,171,182,326,328],arglist:167,argn:316,argpars:234,argtyp:344,argu:11,argument:[3,4,5,10,12,14,20,21,22,23,25,27,29,31,33,34,40,41,42,43,46,48,50,52,57,58,59,62,69,74,80,81,83,85,87,88,89,93,95,96,102,109,111,114,115,119,123,124,125,127,129,134,139,144,146,150,151,153,154,156,157,159,164,165,166,167,169,170,175,176,180,182,184,187,188,189,192,194,195,204,205,206,210,212,217,218,219,220,221,233,234,242,247,251,252,257,259,260,261,265,267,272,276,278,279,285,286,287,290,291,295,296,298,299,306,307,308,310,311,316,317,318,319,321,322,324,326,327,328,329,330,334,338,340,341,344,362,364],argumentpars:234,argumnet:330,aribtrarili:344,aris:103,arm:[26,33,203],armi:85,armor:[29,82,182,218],armour:29,armouri:77,armpuzzl:203,armscii:[15,113],arnold:87,around:[0,4,10,13,14,15,21,23,29,31,34,38,39,42,43,49,55,58,61,63,64,69,70,71,73,77,79,80,85,89,90,91,96,109,111,113,114,116,117,119,121,123,129,136,138,139,159,167,182,184,194,203,206,221,226,231,232,233,235,247,321,322,330,337],arrai:[88,91,291,344],arrang:22,arrayclos:[88,291],arrayopen:[88,291],arriv:[0,25,29,43,73,77,83,105,159,279],arrow:[42,137],art:[114,122,327],articl:[4,15,21,39,41,48,57,61,79,113,127,131,335],article_set:335,artifact:330,artifici:73,arx:79,arxcod:[79,139,364],as_view:[175,239,318],ascii:[9,15,111,113,144,327,330,344],asciiusernamevalid:144,asdf:159,ashlei:[182,188,190,215,217,218,219,220,221],asian:344,asid:9,ask:[1,10,21,23,26,34,37,42,43,46,48,50,54,58,63,67,68,69,70,73,84,90,91,93,97,119,124,131,133,152,154,159,179,184,193,204,234,265,267,294,328,331,344],ask_choic:265,ask_continu:265,ask_input:265,ask_nod:265,ask_yes_no:328,ask_yesno:265,asn:209,aspect:[48,51,57,60,64,68,73,86,109,127,190],assert:[116,127],assertequ:127,assertionerror:170,assertregex:127,asserttru:127,asset:[103,136,271],assetown:9,assign:[2,6,11,12,13,20,36,43,51,56,58,80,87,89,94,97,102,109,112,115,116,119,121,123,131,137,138,144,150,151,153,159,164,166,167,170,183,187,188,206,217,218,219,220,221,233,242,246,247,251,252,272,279,285,287,290,306,325],assist:90,associ:[4,11,29,43,51,79,83,90,105,122,135,138,144,149,159,175,192,195,206,247,306,308,317,362],assort:362,assum:[0,3,5,9,12,13,14,15,19,20,21,22,25,27,28,29,31,33,34,37,39,40,41,43,44,46,47,49,51,55,56,58,60,62,68,73,74,75,80,81,82,84,85,89,90,95,96,97,100,102,103,105,106,108,109,110,111,113,115,116,117,118,120,121,123,127,128,132,133,134,138,150,152,153,154,156,159,164,166,170,175,180,181,206,213,232,233,241,247,252,257,291,308,321,322,328,344,349,362],assumpt:151,assur:[49,125],asterisk:[2,12,38,43,157],astronaut:77,astronom:62,async:[133,139,344,364],asynccommand:10,asynchron:[27,28,29,33,45,55,64,92,93,139,146,247,276,277,291,337,344],at_:[125,334],at_access:[144,247],at_account_cr:[2,144],at_after_mov:[77,89,96,117,247],at_after_object_leav:235,at_after_travers:[89,232,247],at_befor:247,at_before_drop:[218,221,247],at_before_g:[218,221,247],at_before_get:[221,247],at_before_mov:[25,77,89,217,218,219,220,221,247],at_before_sai:[96,206,247],at_channel_cr:175,at_channel_msg:175,at_char_ent:117,at_cmdset_cr:[5,21,22,25,30,31,33,41,44,57,58,62,81,85,116,121,123,152,160,161,162,163,179,180,181,182,185,187,199,202,203,206,214,217,218,219,220,221,226,230,231,232,233,326,328,329],at_cmdset_get:[144,247,306],at_db_location_postsav:246,at_defeat:[217,218,219,220,221],at_desc:247,at_disconnect:[144,306],at_drop:[218,221,247],at_end:256,at_err:[10,344],at_err_funct:10,at_err_kwarg:[10,344],at_failed_login:144,at_failed_travers:[89,212,232,247],at_first_login:144,at_first_sav:[144,175,247],at_first_start:318,at_get:[182,221,247],at_giv:[218,221,247],at_heard_sai:118,at_hit:231,at_idmapper_flush:[318,334],at_init:[6,107,125,144,175,231,232,233,247],at_initial_setup:[104,271],at_initial_setup_hook_modul:271,at_login:[40,125,278,279,287,290,295,296,306],at_look:[96,144,247],at_message_rec:144,at_message_send:144,at_msg_rec:[144,189,247],at_msg_send:[144,146,189,247],at_new_arriv:231,at_now_add:86,at_object_cr:[5,6,21,25,31,39,43,58,60,73,80,81,85,89,96,121,123,125,132,159,187,189,206,212,214,217,218,219,220,221,226,231,232,233,247,318],at_object_delet:247,at_object_leav:[89,233,235,247],at_object_post_copi:247,at_object_rec:[89,117,233,235,247],at_password_chang:144,at_paus:259,at_post_all_msg:175,at_post_channel_msg:[144,175],at_post_cmd:[30,33,150,154,167,170],at_post_command:33,at_post_disconnect:144,at_post_login:[25,144],at_post_msg:175,at_post_portal_sync:305,at_post_puppet:[96,247],at_post_unpuppet:[96,247],at_pre_channel_msg:[144,175],at_pre_cmd:[33,150,154,167,170],at_pre_command:33,at_pre_login:144,at_pre_msg:175,at_pre_puppet:[96,247],at_pre_unpuppet:247,at_prepare_room:235,at_reload:[43,169,305],at_renam:318,at_repeat:[102,116,120,121,125,146,179,184,195,217,218,219,220,221,223,259,300,331],at_return:[10,344],at_return_funct:10,at_return_kwarg:[10,344],at_sai:[118,247],at_script_cr:[102,116,120,121,146,179,184,195,204,205,217,218,219,220,221,223,235,251,259,300,331],at_script_delet:259,at_search_result:[168,344],at_server_cold_start:305,at_server_cold_stop:305,at_server_connect:285,at_server_reload:[102,110,144,146,247,259],at_server_reload_start:305,at_server_reload_stop:[25,305],at_server_shutdown:[102,110,144,146,247,259],at_server_start:[195,259,305],at_server_startstop:[25,104],at_server_stop:305,at_shutdown:305,at_start:[102,116,146,235,256,259],at_startstop_modul:261,at_stop:[102,116,121,217,218,219,220,221,259],at_sunris:62,at_sync:[306,307],at_tick:[115,261],at_travers:[89,213,235,247],at_traverse_coordin:235,at_turn_start:219,at_upd:[219,257],at_weather_upd:132,ating:170,atlanti:24,atleast:205,atom:98,atop:235,atribut:325,att:51,attach:[4,11,21,41,43,56,58,64,77,89,95,102,105,110,112,119,140,154,159,167,169,189,199,215,235,242,247,258,304,315,319],attachmentsconfig:4,attachscript:159,attack:[14,28,29,30,46,51,77,90,103,116,119,122,134,139,153,206,215,217,218,219,220,221,231,232,247,252,285],attack_count:220,attack_messag:73,attack_nam:220,attack_skil:252,attack_summari:73,attack_typ:221,attack_valu:[217,218,219,220,221],attempt:[0,2,22,24,29,31,43,51,60,61,87,91,103,106,119,120,135,156,159,187,210,212,217,218,219,220,221,264,267,272,305,310,318,344,362],attent:[38,56,58,89,103,111],attitud:57,attr1:[43,159,203],attr2:[43,159,203],attr3:[43,159],attr:[11,22,43,49,51,58,80,109,119,136,137,159,166,180,233,241,251,252,306,316,318,334,340],attr_categori:315,attr_eq:241,attr_g:[80,241],attr_gt:[80,241],attr_kei:315,attr_l:[80,241],attr_lockstr:315,attr_lt:[80,241],attr_n:[80,241],attr_nam:159,attr_obj:[316,318],attr_object:318,attr_typ:315,attr_valu:315,attract:37,attrcreat:[80,316],attread:11,attredit:[11,80,316],attrib:242,attribiut:316,attribut:[0,2,6,12,20,22,25,27,28,30,39,41,42,43,45,46,49,50,51,56,57,58,60,61,69,73,74,77,80,81,82,84,85,86,87,89,91,95,102,105,108,109,112,115,116,119,123,125,127,133,134,138,139,141,142,144,145,148,153,159,168,169,173,175,180,181,187,194,195,202,203,206,213,217,218,219,220,221,226,231,232,233,241,244,246,247,250,251,252,254,256,257,260,272,306,314,315,317,318,319,324,325,326,337,338,341,344,357,362,364],attribute1:123,attribute2:123,attribute_list:316,attribute_nam:[144,206,247,341],attributeerror:[42,60,86,306,316],attributeform:315,attributeformset:315,attributehandl:[1,125,316,339,344],attributeinlin:[145,173,244,254,315],attributeobject:11,attrkei:252,attrlist:316,attrnam:[11,43,51,80,109,125,159,241,318],attrread:[11,80,316],attrtyp:[11,316,317],attrvalu:51,attryp:317,atttribut:49,atyp:242,audibl:205,audio:137,audit:[141,142,175,178,207,247],audit_callback:209,auditedserversess:[209,210],auditingtest:211,aug:9,august:[9,344],aut:52,auth:[144,145,148,164,287,349,357,362],auth_password:287,auth_profile_modul:148,authent:[40,103,105,107,133,138,144,278,285,287,290,296,306,308,349,362],authenticated_respons:360,author:[41,90,126,144,192,195],auto:[0,5,12,14,21,31,32,33,34,38,42,43,45,51,63,67,71,89,95,96,105,122,131,133,138,141,144,148,154,158,159,166,169,170,205,206,226,236,239,242,247,252,256,261,264,267,278,288,295,296,305,308,318,323,329,330,349],auto_close_msg:226,auto_help:[33,41,44,51,68,69,154,170,188,230,249,328,329],auto_help_display_kei:[154,170,328],auto_id:[145,237,244,357],auto_look:[51,188,230,249,328],auto_now_add:86,auto_quit:[51,188,230,249,328],auto_transl:205,autobahn:[278,284,295],autodoc:38,autofield:133,autologin:349,autom:[14,36,57,58,67,79,86,100,103,110,362],automat:[0,6,10,14,19,22,23,27,30,31,34,37,38,41,43,46,47,50,51,55,58,60,62,64,65,66,67,68,71,72,80,81,84,85,86,90,96,97,100,102,104,105,109,111,116,117,118,119,121,122,123,124,125,126,128,131,135,136,139,140,144,152,153,154,159,164,165,167,170,179,180,181,182,194,195,196,203,204,205,206,214,221,234,242,246,247,258,260,261,272,281,284,287,292,305,308,310,322,326,328,329,330,344,350],automatical:261,autostart:[258,324],autumn:[97,99,187],avail:[0,5,7,8,10,11,13,16,21,22,23,25,26,31,33,36,38,39,40,41,42,43,44,46,48,49,51,53,57,58,60,62,63,64,65,72,74,75,76,77,78,79,80,81,82,85,88,89,90,91,95,96,98,100,102,104,105,106,108,109,110,111,113,114,116,119,121,122,123,125,127,128,130,131,133,134,137,138,139,141,144,150,151,152,153,154,156,159,161,164,165,166,167,169,170,171,179,180,181,185,187,189,195,199,202,204,205,206,214,215,217,218,219,220,221,226,232,233,241,242,247,250,251,252,256,272,296,299,310,322,323,328,329,330,344,362],available_chan:164,available_choic:[51,328],available_funct:251,available_languag:205,available_weapon:232,avatar:[64,88,96,247,287],avatarid:287,avenew:41,avenu:182,averag:[13,43,90,93,169,195,205,234],avoid:[8,11,23,26,27,31,33,37,38,40,42,43,51,80,81,85,95,97,100,109,111,114,125,126,127,129,131,138,139,152,159,204,205,226,234,235,241,246,272,276,286,296,306,316,318,321,322,323,326,329,334],awai:[0,9,10,11,14,15,21,26,29,42,43,46,49,51,55,66,68,69,73,80,86,90,96,102,105,109,111,121,123,131,165,182,215,218,221,226,231,233,235,247,256,307,321,344],await:10,awar:[11,14,26,31,33,44,51,88,95,96,110,125,126,132,133,189,204,206,231,234,235,247,318,321],awesom:[63,135],aws:90,axhear:241,azur:100,b3cbh3:133,b64decod:340,b64encod:340,b_offer:179,baaaad:127,babi:138,bacground:67,back:[0,3,5,10,11,12,13,14,20,21,22,23,25,26,27,29,31,33,34,36,38,43,46,49,50,51,56,58,60,61,63,64,67,69,73,74,81,83,85,86,87,90,91,95,96,97,100,102,105,106,110,111,113,116,118,119,121,122,123,125,126,131,133,135,137,141,144,153,156,159,164,168,179,180,206,212,215,220,226,249,267,272,276,279,285,287,290,305,318,325,328,329,337,344],back_exit:0,backbon:[133,322],backend:[23,36,109,127,135,141,142,316,344,346,348],backend_class:316,background:[10,17,29,51,67,90,103,110,114,126,133,183,190,321,362],backpack:31,backslash:114,backtick:[38,131],backtrack:131,backup:[10,89,90,105,131,168,322],backward:[50,51,58,121,337],bad:[0,22,24,37,41,58,64,70,76,85,119,127,210,269],bad_back:242,badg:130,bag:344,bake:100,balanc:[29,56,61,79,116,330],balk:95,ball:[31,59,104,151,152,252],ballon:203,balloon:203,ban:[7,25,80,139,144,157,164,170,175,242,364],ban_us:164,band:[45,88,118,137,287,290,291],bandit:46,bandwidth:280,banid:[43,157],bank:61,banlist:175,bar:[51,82,83,84,88,112,135,137,190,206,215,291,328,344],bare:[33,55,58,73,104,190,218],barehandattack:56,bargain:86,barkeep:[42,206],barter:[61,63,102,117,141,142,178],bartl:79,bas:120,base:[3,4,6,9,13,16,17,20,21,22,23,30,33,34,36,38,39,41,42,43,49,51,53,55,56,57,58,60,61,63,64,67,69,72,73,75,77,79,80,83,85,86,89,90,94,96,100,102,103,105,108,111,113,115,119,120,123,124,125,126,127,129,130,133,134,136,137,138,139,141,144,145,146,147,148,150,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,195,196,198,199,202,203,204,205,206,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,237,238,239,242,244,245,246,247,249,251,252,254,255,256,257,258,259,260,261,263,264,265,267,269,270,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,299,300,303,305,306,307,308,310,311,312,315,316,317,318,319,321,322,323,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,349,351,352,357,360,362,364],base_account_typeclass:2,base_char_typeclass:120,base_character_typeclass:[43,81,120,133,134,144,159],base_field:[145,237,244,315,357],base_guest_typeclass:66,base_object_typeclass:[109,252,318],base_script_path:241,base_script_typeclass:102,base_set:9,baseclass:232,basecontain:323,baseinlineformset:315,baseline_index:344,baseobject:125,baseopt:338,basepath:344,basetyp:[247,322],basetype_posthook_setup:247,basetype_setup:[39,80,96,144,146,175,247],bash:[36,38,63,67,232],basi:[4,33,37,62,90,136,138,167,177,206,241,296,318,327],basic:[0,2,3,6,9,15,16,17,19,20,22,26,29,31,33,34,36,39,40,43,46,47,48,56,57,58,60,61,62,69,73,77,79,80,81,83,86,87,110,111,113,116,117,118,121,122,124,126,128,133,134,135,137,139,144,146,159,164,166,175,177,188,194,203,218,220,232,241,243,247,298,342,346,357,362,364],bat:[9,63],batch:[18,20,43,48,63,79,111,122,124,139,141,142,158,252,276,316,319,320,364],batch_add:[252,316,319],batch_cmd:14,batch_cod:[13,322],batch_code_insert:13,batch_create_object:252,batch_exampl:322,batch_import_path:[13,14],batch_insert_fil:14,batch_update_objects_with_prototyp:252,batchcmd:[43,158],batchcmdfil:[14,322],batchcod:[14,79,111,158],batchcode_map:111,batchcode_world:111,batchcodefil:13,batchcodeprocessor:322,batchcommand:[14,20,22,63,122,158,322],batchcommandprocessor:322,batchfil:[14,15,111,322],batchprocess:[141,142,149,155],batchprocessor:[13,141,142,158,320],batchscript:[13,322],batteri:144,battl:[79,103,116,122,217,218,219,220,221],battlecmdset:[217,218,219,220,221],baz:215,bazaar:108,beach:111,bear:[204,231],beat:[61,116],beaten:[116,233],beauti:[22,49,133],beazlei:79,becam:[29,126],becaus:[0,2,6,8,9,10,11,12,13,15,16,21,22,25,29,31,36,38,40,41,42,44,46,51,54,56,59,64,68,73,76,77,80,89,91,95,96,107,108,109,111,115,116,117,119,125,126,130,133,134,136,145,153,171,175,186,194,205,220,235,247,259,279,285,298,308,315,321,338,340,344],becom:[0,5,10,22,37,38,41,42,43,47,49,51,56,59,61,64,70,73,78,80,81,86,87,88,95,96,102,104,109,111,119,128,156,170,189,203,205,215,218,247,252,306,322,328],bed:61,been:[0,4,5,6,13,14,19,21,22,23,36,38,41,42,43,46,49,51,58,69,70,76,79,85,91,93,94,96,103,105,116,117,123,126,128,131,133,134,135,138,152,153,158,159,164,167,175,180,195,203,204,206,217,218,219,220,221,233,235,239,242,246,247,251,252,260,261,269,281,285,287,295,305,306,307,308,310,315,316,318,322,326,327,344,362],befit:125,befor:[1,4,10,11,12,13,14,15,20,21,22,25,27,28,29,31,33,37,41,42,43,46,48,49,51,56,57,58,60,61,67,69,71,75,77,79,80,81,84,85,86,90,91,93,96,97,100,102,103,104,106,107,108,109,111,112,113,114,115,116,117,118,119,121,123,124,125,126,127,131,132,133,134,135,137,138,139,144,150,151,154,159,164,166,167,171,175,184,186,187,188,189,190,194,198,205,206,209,210,215,217,218,219,220,221,226,230,232,233,235,241,242,246,247,250,252,260,261,267,276,285,287,293,301,303,305,306,310,312,316,321,322,323,324,328,329,330,331,335,337,340,344,362],beforehand:[11,131,323],beg:14,beggar:0,begin:[0,4,6,10,13,14,20,22,25,33,38,41,42,43,46,50,51,55,58,61,69,72,80,91,95,96,106,107,111,116,117,119,127,132,134,165,166,194,205,206,215,217,218,219,220,221,247,321,322,328,341],beginn:[55,60,77,79,91,95,124],behav:[11,13,20,22,29,69,91,95,107,110,127,344],behavior:[0,5,11,31,33,41,50,68,69,93,96,102,109,114,126,135,137,138,144,154,170,182,188,219,221,233,234,267,315,316,328],behaviour:[11,31,33,80,126,313,324,330,344],behind:[11,12,21,33,38,43,49,51,55,59,61,63,74,97,109,112,114,122,126,131,158,204,233,256,261,334],behvaior:329,being:[0,5,6,10,11,13,20,21,22,25,28,31,33,34,36,37,42,43,51,54,56,59,61,63,64,69,83,88,90,91,93,95,96,102,103,107,109,111,115,118,125,126,127,129,131,133,138,144,151,159,165,169,175,184,185,189,199,205,206,217,218,219,220,221,226,233,239,247,269,272,279,308,310,315,316,318,321,322,324,328,329,330,344,363],beipmu:24,belong:[4,14,43,64,83,95,103,112,119,133,140,153,206,215,235,239,250],below:[0,1,5,8,9,10,11,12,13,14,15,19,20,22,23,25,27,29,31,33,34,36,38,39,42,43,48,49,50,51,57,58,59,60,61,62,63,64,67,69,70,74,80,81,87,88,90,94,95,96,100,102,105,106,109,110,111,114,117,118,119,123,125,127,131,133,134,136,138,140,148,159,167,177,180,182,185,190,205,206,215,217,218,219,220,221,228,234,239,241,246,247,256,279,299,316,318,319,328,330,335],belt:77,beneath:27,benefici:[49,219],benefit:[78,90,100,103,108,127,153,316,322,328],besid:[0,14,31,106,111,190],best:[9,22,24,26,37,50,51,57,58,59,61,72,76,102,103,104,108,133,135,139,166,180,205,215,234,252,267,287,330,338,364],bet:[31,105,138,318],beta:[35,54,90],betray:51,better:[0,9,15,23,25,34,41,42,44,45,51,55,58,59,61,64,68,70,73,81,85,86,91,93,95,108,109,112,114,133,134,181,213,218,233,247,252,284,287,290,298,316,322],bettween:73,between:[0,2,10,14,22,25,28,31,33,36,38,39,40,41,43,46,49,56,57,58,64,67,69,73,76,83,85,87,88,90,91,100,102,105,109,112,113,114,116,120,121,122,123,124,126,131,137,138,140,151,154,159,164,166,169,170,177,179,182,183,194,195,198,199,202,204,205,206,215,217,218,219,220,221,247,252,261,267,276,279,286,287,290,291,298,299,306,319,321,322,324,328,330,331,344,351],bew:187,bewar:39,beyond:[1,2,9,22,25,33,37,52,57,64,88,89,90,102,127,134,154,159,170,177,180,206,215,226,233,251,316,318,328,330],bg_colormap:343,bgcolor:343,bgfgstart:343,bgfgstop:343,bgstart:343,bgstop:343,bias:159,bidirect:276,big:[9,11,13,14,20,25,28,29,33,37,45,57,73,80,96,122,138,140,151,166,168,226,322,329,341,344],bigger:[21,37,40,69,119,123,205],biggest:[72,138,344],biggui:33,bigmech:21,bigsw:29,bikesh:119,bill:[90,103],bin:[4,9,36,47,63,64,70,75,96,100],binari:[23,47,63,93,95,278,280,295],bind:67,birth:357,bit:[0,4,9,12,17,22,26,29,35,39,41,42,43,46,59,61,62,63,69,75,76,81,96,102,106,109,121,122,127,131,134,137,138,164,171,186,242,247,322],bitbucket:57,bite:[61,111],black:[73,114,126,321],blackbird:79,blackbox:138,blacklist:[103,164],blade:232,blank:[51,86,117,134,144,188,321],blankmsg:188,blarg:83,blargh:109,blatant:12,blaufeuer:119,bleed:[114,131,330],blend:203,blender:203,bless:138,blind:[114,118,226],blind_target:226,blindcmdset:226,blindli:242,blink:[20,226,343],blink_msg:226,blist:97,blob:[3,37,38,41,46,95,96,104,127,135,138],block:[3,12,25,28,43,50,51,55,58,64,69,80,90,91,97,102,103,110,114,123,129,133,134,139,157,158,159,187,221,230,231,232,235,249,286,322,328,344,362],blocking_cmdset:25,blockingcmdset:25,blockingroom:25,blocktitl:69,blog:[37,55,79,90,98],blowtorch:24,blue:[13,57,81,114,126,232,321],blueprint:[57,96,111,137],blurb:54,board:[34,49,61,79,80,121],boat:[31,121,153],bob:[33,43,81,138,157],bodi:[3,17,22,27,33,38,41,46,51,58,95,109,127,129,133,193,199,269,324],bodyfunct:[20,102,141,142,178,222,228],bog:21,boi:112,boiler:125,bold:54,bolt:252,bone:[55,73],bonu:[41,73,90,218,219,256],bonus:[29,218],boo:57,book:[3,49,57,62,73,79,91,95,109,135],bool:[2,31,33,34,51,74,84,102,144,145,146,148,150,151,152,153,154,159,164,166,173,175,176,177,179,180,182,184,185,188,190,192,195,204,205,206,215,217,218,219,220,221,235,238,242,244,246,247,251,252,254,256,257,258,259,260,261,267,272,273,278,279,284,285,286,290,295,296,304,306,308,310,316,317,318,319,321,322,324,326,328,329,330,331,334,337,339,341,343,344],booleanfield:[133,145,237],boom:[21,51],boot:[80,100,110,157,164,175,261],boot_us:164,bootstrap:[4,124,138,139,364],border:[43,58,111,156,170,188,327,330],border_bottom:330,border_bottom_char:330,border_char:330,border_left:330,border_left_char:330,border_right:330,border_right_char:330,border_top:330,border_top_char:330,border_width:330,borderless:58,borderstyl:188,bore:[12,55,103],borrow:[31,63,152,276],bort:[52,328],boss:58,bot:[43,47,65,72,93,103,119,133,141,142,143,148,164,272,278,279,286,308,362],bot_data_in:[146,272],both:[0,11,15,19,22,23,25,26,27,31,33,34,36,37,38,40,43,44,49,51,56,57,58,62,65,69,71,74,79,84,85,86,87,88,90,91,95,97,103,104,105,106,110,111,116,119,121,124,125,127,128,131,133,134,136,138,150,152,159,164,169,177,179,183,190,199,203,212,215,220,221,233,242,247,251,252,253,256,259,261,276,285,295,296,305,307,310,316,317,321,324,328,330,339,344],bother:[29,103,128,316],botnam:[43,72,164,279,308],botnet:103,botstart:146,bottom:[4,39,41,52,54,57,58,60,69,85,95,101,106,111,125,127,133,137,153,199,220,235,252,322,329,330],bought:85,bouncer:[27,103,327],bound:[6,27,57,108,192,344],boundari:344,bounti:70,bountysourc:70,bow:252,box:[0,3,8,20,42,43,46,58,63,66,69,70,71,73,80,87,90,104,106,109,111,123,135,138,159,206,241,276,322,357],brace:[0,22,25,41,91,247,321],bracket:[38,43,96,129,169,183],brainstorm:[139,364],branch:[9,36,37,38,41,63,70,100,204,215],branchnam:131,brandymail:199,bread:16,breadth:221,break_lamp:226,break_long_word:330,break_on_hyphen:330,breakdown:[43,169],breakpoint:[16,106,141],breez:[102,132],breviti:58,bribe:51,brick:82,bridg:[22,23,53,79,83,105,233],bridgecmdset:233,bridgeroom:233,brief:[3,16,19,20,21,25,46,58,60,85,86,95,96,101,110,124,131,139,188,234,247,311],briefer:[89,110],briefli:[16,90,110,226],bright:[81,114,126,183,226,321],brightbg_sub:321,brighten:114,brighter:114,brilliant:131,bring:[23,49,96,100,103,121,123,133,136,215,221,231,309],broad:39,broadcast:[43,144,175,276],broader:[39,206,247],broadli:94,broken:[61,108,114,205,226],brought:102,brown:321,brows:[3,9,25,39,55,58,62,69,85,90,91,103,106,123,131,136,137,138,362],browser:[3,8,9,16,38,55,63,64,67,69,70,75,77,90,95,96,101,103,133,134,135,136,137,138,295,296,362],brutal:234,bsd:78,bsite:135,bsubtopicnna:170,btest:114,btn:[17,70],bucket:209,buf:326,buffer:[22,33,50,137,168,269,296,326],bug:[10,13,26,37,42,54,57,60,61,70,78,94,95,96,110,123,127,131,247,318],buggi:[11,328],bui:[85,138,179],build:[1,6,7,9,10,11,13,14,15,27,31,36,47,51,55,57,60,63,64,68,69,75,77,79,80,81,86,87,89,96,100,105,106,108,109,112,113,119,120,122,123,125,129,130,136,137,139,140,141,142,149,151,155,157,158,165,166,169,180,187,193,205,206,212,231,234,242,247,251,252,267,278,279,322,330,357,363,364],build_match:151,builder:[2,4,14,19,22,25,43,56,58,60,61,68,80,85,108,109,112,114,123,124,139,157,159,164,165,169,180,182,187,188,203,206,212,226,233,234,235,242,247,298,318,322,363,364],buildier:252,building_menu:[141,142,178],buildingmenu:[22,180],buildingmenucmdset:180,buildprotocol:[264,277,278,279],buildshop:85,built:[13,16,20,27,38,40,51,54,55,57,58,61,63,64,73,75,77,95,96,100,103,121,122,123,135,138,139,148,177,203,205,239,246,256,261,316,318,319,322,326,328,335],builtin:[94,280],bulk:[96,103],bullet:[38,61],bulletin:[61,79,80],bulletpoint:38,bunch:[15,27,58,108,113],burden:82,buri:[108,122],burn:[61,73,90,232],busi:[64,70,90,179],butch:96,butt:138,butter:16,button:[9,13,14,31,33,43,80,83,87,88,106,131,133,134,135,137,138,159,226,232,299,329],button_expos:232,buy_ware_result:85,byngyri:205,bypass:[4,10,19,20,43,58,80,116,126,144,159,175,212,241,242,318,324,341,344,349],bypass_mut:175,bypass_superus:80,bytecod:321,bytestr:[276,344],bytestream:344,c20:164,c6mq:70,c_creates_button:299,c_creates_obj:299,c_dig:299,c_examin:299,c_help:299,c_idl:299,c_login:299,c_login_nodig:299,c_logout:299,c_look:299,c_move:299,c_moves_:299,c_moves_n:299,c_social:299,cabinet:92,cabl:82,cach:[6,8,11,12,28,33,39,43,86,119,125,127,130,137,144,154,169,175,187,231,232,242,246,247,271,310,315,316,318,319,320,332,334,344],cache_inst:334,cache_lock_bypass:242,cache_s:[310,334],cached_properti:344,cactu:220,cake:31,calcul:[10,25,27,39,73,116,119,123,139,153,184,187,198,205,217,218,220,221,252,331,334,344,362],calculated_node_to_go_to:51,calculu:56,calendar:[184,198,331],call:[0,2,3,4,5,6,10,11,13,14,16,20,21,22,23,25,26,27,28,29,30,31,36,38,39,40,41,42,43,46,47,48,49,50,51,55,56,57,58,59,60,61,62,63,64,65,69,71,72,73,74,75,80,81,83,84,85,86,88,89,90,91,93,95,96,100,102,104,105,107,108,109,110,111,114,115,116,117,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,137,138,144,146,150,151,152,153,154,156,159,164,167,168,169,170,171,175,179,180,182,184,185,186,187,188,189,192,193,194,195,196,198,203,204,205,206,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,242,246,247,250,251,252,257,259,260,261,264,267,269,271,272,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,294,295,296,298,299,300,305,306,307,308,309,312,315,316,318,319,321,322,323,324,326,328,329,330,331,334,337,339,340,341,344,357,362],call_async:10,call_command:127,call_ev:[0,194],call_inputfunc:[83,306,308],call_task:260,callabl:[49,50,84,109,115,123,180,188,195,215,219,247,250,251,252,257,261,265,267,269,277,308,323,326,328,329,337,339,340,344],callables_from_modul:344,callbac:22,callback1:328,callback:[4,10,22,27,29,33,50,51,62,74,84,115,138,146,180,184,188,192,193,194,195,196,198,210,215,230,247,257,260,261,265,267,269,272,276,277,278,280,294,295,298,309,328,331,337,342,344,364],callback_nam:[192,195],callbackhandl:[141,142,178,191],called_bi:150,calledbi:344,caller:[5,10,11,13,21,22,25,27,28,29,30,33,38,41,42,43,44,49,50,56,58,59,60,71,73,80,81,82,83,85,86,87,88,89,91,111,115,116,119,121,123,125,129,137,146,150,151,152,154,156,159,160,164,165,166,167,169,170,180,188,193,199,203,206,214,215,226,230,232,233,234,235,242,247,249,251,252,322,326,328,329,338,344],callerdepth:344,callertyp:150,callinthread:312,calllback:194,callsign:[51,272],calm:111,came:[9,21,25,55,79,111,132,138,231,235,247],camp:111,campfir:111,campsit:111,can:[0,1,2,3,4,5,6,9,10,12,13,14,15,17,19,20,21,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,133,134,135,136,137,138,139,140,143,144,146,148,151,152,153,154,156,157,159,164,165,166,167,168,169,170,175,176,177,179,180,182,183,184,185,187,188,189,190,194,195,198,199,203,204,205,206,209,212,215,217,218,219,220,221,226,231,232,233,234,235,239,241,242,246,247,250,251,252,253,256,257,259,261,267,278,282,285,287,290,291,295,296,298,299,305,306,307,308,309,312,313,314,316,317,318,319,321,322,323,324,326,327,328,329,330,338,339,340,341,342,344,345,357,362,363],can_:194,cancel:[27,29,74,194,217,218,219,220,221,247,260],candid:[22,33,119,133,151,203,206,247,341],candl:153,cannot:[5,9,10,11,13,14,19,21,22,25,27,28,29,31,33,39,43,44,46,50,51,56,60,61,63,69,70,73,76,80,85,90,104,109,112,114,122,123,127,128,133,139,144,146,153,156,159,166,180,187,188,192,195,212,215,221,231,232,238,241,242,247,251,261,316,323,325,327,330,334,344],cantanker:338,cantclear:188,cantillon:79,cantmov:25,canva:49,capabl:[6,36,43,49,58,64,80,83,88,105,156,214,272,294,357],cape:57,capfirst:69,capit:[9,12,25,29,43,64,88,95,123,159,189,204,205,321],captcha:133,caption:38,captur:[25,91,138,337,362],car:[87,121],card:103,cardin:[43,44,49,58,159],care:[0,4,10,12,23,33,38,44,49,51,56,57,62,64,78,86,91,110,116,121,126,132,144,152,175,187,203,206,230,231,233,241,247,318,322,326,328,329,330,344],carefulli:[55,93,105,111,133],carri:[20,31,61,80,82,85,116,117,177,182,218,231,241,306,317],cascad:334,caseinsensitivemodelbackend:349,cast:[28,109,112,215,220],caster:[28,220],castl:[13,111,122,187,233],cat:[67,75],catchi:4,categor:112,categori:[1,5,11,33,36,39,43,51,68,69,86,109,112,119,127,140,154,155,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,238,239,241,247,251,252,316,317,319,324,326,328,329,335,338,341,344,362],categoris:56,category2:335,category2_id:335,category_id:335,category_index:215,cater:29,caught:[42,51,97,176],caus:[11,12,29,30,31,42,60,61,64,77,80,90,96,114,116,117,119,123,127,137,140,153,175,186,226,235,247,298,328,330,344],caution:[62,137,328],cave:46,caveat:[5,10],caveman:56,cblue:131,cboot:[12,164],cc1:63,cccacccc:327,ccccc2ccccc:58,cccccccc:327,ccccccccccc:58,cccccccccccccccccbccccccccccccccccc:327,ccccccccccccccccccccccccccccccccccc:327,ccreat:[41,58,65,72,98,164],cdesc:[41,164],cdestroi:164,cdmset:31,cdn:103,ceas:[43,77,159],cel:327,celebr:61,cell:[58,69,111,188,327,330],celltext:327,censu:317,center:[4,16,39,49,109,111,114,190,321,330,344],center_justifi:109,centos7:67,centr:111,central:[26,55,61,64,74,100,111,123,124,127,132,138,139,144,153,170,175,177,247,252,276,324,328,334,363,364],centre_east:111,centre_north:111,centre_south:111,centre_west:111,centric:[9,80,105,123,206],cert:[8,288,292],certain:[13,14,16,19,25,29,31,33,37,38,43,48,64,75,80,88,90,97,102,105,107,108,114,115,121,138,159,176,179,205,209,226,232,235,241,251,259,267,273,290,294,309,315,316,317,326,330,341,344,357],certainli:[15,44,138],certbot:[67,90,103],certfil:[288,292],certif:[8,90,288,292],certonli:67,cet:337,cfg:67,cflag:75,cgi:[70,90],ch28s03:57,cha:[51,58],chain:[0,10,29,46,51,109,119,194,195,299,328],chain_1:0,chainedprotocol:287,chainsol:119,chair:[13,61,89,91,112,125],challeng:[73,79],chan:164,chanalia:[43,164],chanc:[21,22,28,31,54,61,66,73,115,116,122,131,152,217,218,219,220,221,226,232,233,299],chance_of_act:299,chance_of_login:299,chandler:116,chang:[2,3,4,7,8,9,11,12,13,14,15,16,19,20,21,22,23,26,29,30,31,33,34,35,36,37,39,41,42,43,45,47,49,50,51,53,54,57,61,62,63,64,66,67,68,71,73,74,75,77,78,80,81,83,84,85,86,87,89,90,91,94,95,96,100,102,104,105,107,109,110,111,112,114,115,116,118,121,123,125,126,127,132,133,134,135,137,138,139,144,145,153,154,156,157,159,164,165,170,173,175,179,180,182,186,187,189,190,192,195,202,205,206,212,213,215,217,218,219,220,221,231,232,233,234,235,239,244,247,252,254,256,257,259,260,261,267,272,283,298,305,306,313,315,316,318,322,325,326,329,330,337,338,339,340,362],change_name_color:215,changeabl:76,changelock:164,changelog:96,changepag:134,changepassword:12,chanlist:43,channam:41,channel:[2,6,7,11,12,19,27,31,33,45,53,55,57,65,70,71,72,79,80,82,86,87,90,98,107,112,119,123,124,125,138,139,144,146,152,153,159,164,170,172,173,175,176,177,195,226,271,278,279,286,299,306,308,316,324,337,341,360,362,364],channel_:[34,175],channel_ban:[41,164],channel_color:25,channel_command_class:[34,41],channel_connectinfo:306,channel_detail:362,channel_list:362,channel_list_ban:164,channel_list_who:164,channel_msg:144,channel_msg_nick_pattern:175,channel_msg_nick_replac:[164,175],channel_msg_pattern:164,channel_prefix:[25,175],channel_prefix_str:175,channel_search:176,channel_typeclass:360,channeladmin:173,channelalia:[164,175],channelattributeinlin:173,channelcl:164,channelcmdset:31,channelcommand:[34,41],channelconnect:177,channelcr:[43,164],channelcreateview:175,channeldb:[41,53,125,141,173,175,177,314],channeldb_db_attribut:173,channeldb_db_tag:173,channeldb_set:[316,319],channeldbmanag:[176,177],channeldeleteview:175,channeldesc:41,channeldetailtest:360,channeldetailview:[175,362],channelhandl:[34,41,141,142,172],channelkei:[41,176],channellist:43,channellisttest:360,channellistview:362,channelmanag:[175,176],channelmixin:362,channelnam:[34,41,72,144,146,164,175,278],channeltaginlin:173,channelupdateview:175,char1:[43,73,127,165,170,360],char2:[43,73,127,165,360],char_health:233,char_nam:133,charac:84,charact:[0,2,5,9,11,14,15,17,19,20,21,22,23,27,28,29,30,31,33,34,36,39,40,41,42,43,45,47,49,50,51,53,55,56,57,62,68,69,71,74,76,77,80,81,83,85,86,87,88,91,95,97,102,105,111,113,114,116,117,118,119,120,121,122,124,125,127,129,135,136,138,139,141,143,144,151,152,154,156,159,160,161,165,166,167,175,180,181,182,187,188,189,190,192,194,195,199,202,204,205,206,209,214,215,217,218,219,220,221,223,226,231,232,233,235,239,242,247,259,272,293,306,311,316,318,321,322,327,328,330,342,344,345,357,360,362,364],character1:73,character2:73,character_cmdset:187,character_form:362,character_id:247,character_list:362,character_manage_list:362,character_typeclass:[127,144,342,360],charactercmdset:[5,21,22,25,30,31,41,43,44,57,58,60,62,81,123,161,180,182,187,199,202,212,217,218,219,220,221,233],charactercreateview:[360,362],characterdeleteview:[360,362],characterdetailview:362,characterform:[357,362],characterlistview:[360,362],charactermanageview:[360,362],charactermixin:362,characternam:114,characterpuppetview:[360,362],charactersheet:51,characterupdateform:[357,362],characterupdateview:[360,362],charapp:133,charat:188,charcreat:[0,46,69,156,181],chardata:58,chardelet:156,chardeleteview:[239,318],chardetailview:[239,318],charfield:[86,133,145,237,244,315,340,357],charg:90,chargen:[133,139,141,142,175,178,239,318],chargencmdset:123,chargenroom:123,chargenview:[239,318],charnam:[43,58,156],charpuppetview:318,charset:344,charsheet:58,charsheetform:58,charupdateview:[239,318],chase:122,chat:[1,2,9,26,34,37,48,55,57,58,60,63,65,70,72,79,80,98,123,131,139,296,337],chatroom:57,chatzilla:72,cheap:131,cheaper:[61,115],cheapest:90,cheapli:233,cheat:[23,38,73],cheatsheet:48,chec:170,check:[0,4,5,12,13,14,19,22,25,26,27,28,29,31,33,36,37,38,39,40,41,42,43,44,46,49,51,54,56,58,60,63,65,67,68,69,70,71,73,77,81,82,85,86,87,89,90,91,95,97,98,100,102,103,106,109,110,111,112,114,115,116,117,118,119,121,123,125,127,128,130,131,133,136,138,139,144,145,150,151,152,153,154,156,158,159,164,165,166,167,169,170,171,175,177,179,181,182,186,187,188,195,199,217,218,219,220,221,223,226,231,233,234,235,241,242,246,247,251,252,256,258,259,260,266,267,271,276,282,287,306,308,310,311,312,315,316,318,319,321,322,324,338,339,344,345,362],check_attr:159,check_circular:296,check_databas:267,check_db:267,check_defeat:73,check_end_turn:116,check_error:266,check_evennia_depend:344,check_from_attr:159,check_grid:49,check_has_attr:159,check_light_st:233,check_lockstr:[4,80,242],check_main_evennia_depend:267,check_obj:159,check_permiss:251,check_permstr:[144,318],check_show_help:166,check_to_attr:159,check_warn:266,checkbox:133,checker:[15,49,94,241,287,345],checkout:[9,100,131],checkoutdir:36,chest:[80,91],child:[6,33,43,51,64,80,96,116,146,148,154,159,170,233,246,252,256,312,335],childhood:51,children:[21,33,64,96,112,117,119,125,148,246,247,256,267,317,335],chillout:[43,159],chime:27,chines:[25,79,113],chip:58,chmod:36,choci:180,chocol:60,choic:[4,15,23,33,43,51,55,60,78,90,91,95,105,107,109,113,116,119,124,127,129,132,144,156,159,179,180,188,217,234,265,326,328],choice1:129,choice2:129,choice3:129,choos:[7,9,10,13,38,49,51,57,62,64,67,72,73,85,101,106,116,120,123,126,133,135,138,139,140,170,214,215,217,218,219,220,221,226,231,280,328,343,364],chop:[33,232],chore:68,chose:[54,58,86,103,133,215],chosen:[22,51,88,106,116,132,138,188,190,328],chown:100,chractercmdset:233,christin:96,chrome:24,chronicl:188,chroot:67,chug:33,chunk:[13,69,111,269,322],church:27,church_clock:27,cid:299,cillum:52,circl:39,circuit:137,circular:[269,323],circumst:[46,51,57,85,119,152,220,357],circumv:[43,157],claim:83,clang:75,clank:0,clarif:[1,48],clarifi:25,clariti:[75,86,91,123],clash:[23,31,43,90,159,318,328],class_from_modul:344,classic:[3,13,79,105,112,115,116],classmethod:[39,144,175,239,247,259,318,334,351],classnam:11,classobj:318,claus:[78,118],clean:[1,4,17,25,28,43,48,51,76,110,111,114,116,122,131,145,152,154,159,179,206,217,218,219,220,221,232,233,235,247,256,267,271,285,295,308,315,318,321,326,328,334,340,343,344,357],clean_attr_valu:315,clean_attribut:[125,144,318],clean_cmdset:[125,318],clean_senddata:308,clean_stale_task:260,clean_str:321,clean_usernam:145,cleaned_data:133,cleaner:[91,123],cleanli:[64,102,105,110,150,154,164,188,269,278,284,295,308,326],cleanup:[1,11,22,33,40,43,45,50,51,102,127,145,179,230,233,328],clear:[1,4,11,12,15,22,29,33,37,38,40,43,48,50,59,61,64,69,70,73,81,104,110,111,112,113,115,125,128,129,131,132,137,138,153,156,157,159,165,188,204,206,233,242,246,247,257,260,261,269,306,310,316,318,319,328,334],clear_attribut:316,clear_client_list:303,clear_cont:[89,247],clear_exit:[89,247],clearal:[43,129,165],clearli:[12,37,48,128,334],cleartext:[210,324],clemesha:312,clever:[10,31,51,95,242],cleverli:105,click:[36,38,69,90,101,106,114,128,131,133,135,137,138,328],clickabl:[18,38],client:[3,7,8,9,12,22,23,25,30,33,36,40,43,45,50,52,54,55,60,63,64,65,67,72,74,75,79,81,84,91,95,96,100,101,103,104,105,107,108,111,113,114,116,117,126,128,136,138,139,141,142,144,146,154,156,164,169,210,262,264,268,270,272,276,277,278,279,280,281,282,283,285,287,289,290,291,292,294,295,296,298,299,305,306,307,308,325,326,328,343,344,362,364],client_address:40,client_default_height:52,client_disconnect:296,client_encod:23,client_opt:[272,291],client_secret:65,client_width:[33,154],clientconnectionfail:[264,278,279],clientconnectionlost:[264,278,279],clientfactori:298,clienthelp:137,clientraw:[43,169],clientsess:[295,296],cliff:[20,43,159],climat:112,climb:[33,43,55,77,93,159,232],climbabl:232,clipboard:[1,48],clist:43,clock:[12,27,33,73,164],clone:[38,47,63,64,76,96,128,130],close:[0,14,22,25,38,39,40,41,43,46,48,50,51,64,69,76,90,94,96,100,103,105,106,110,125,131,133,137,169,171,179,180,186,190,212,221,226,230,269,277,278,285,287,295,296,308,316,322,328],close_menu:[230,328],closer:[205,221],closest:[39,114,344],cloth:[141,142,178,322],clothedcharact:182,clothedcharactercmdset:182,clothes_list:182,clothing_typ:182,clothing_type_count:182,clothing_type_ord:182,cloud:[90,100,102,103,132],cloudi:102,clr:[114,251],cls:[39,144],clue:232,clunki:[131,221],clutter:[38,153],cma:131,cmd:[12,14,22,25,28,29,31,33,41,43,44,53,58,60,62,70,71,80,82,85,88,95,121,123,136,152,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,236,247,291,295,296,322,326,328,329],cmd_abil_result:127,cmd_arg:91,cmd_channel:33,cmd_help_dict:166,cmd_ignore_prefix:151,cmd_kei:91,cmd_last:105,cmd_last_vis:105,cmd_loginstart:33,cmd_multimatch:[33,150],cmd_na_m:88,cmd_name:88,cmd_noinput:[33,150,328],cmd_nomatch:[33,150,233,328],cmd_noperm:33,cmd_on_exit:[51,188,215,230,249,328],cmd_total:105,cmdabil:[60,127],cmdabout:169,cmdaccept:179,cmdaccess:165,cmdaddcom:164,cmdallcom:164,cmdapproach:221,cmdarmpuzzl:203,cmdasync:10,cmdattack:[29,73,116,123,217,218,219,220,221,232],cmdban:157,cmdbatchcod:158,cmdbatchcommand:158,cmdbigsw:29,cmdblindhelp:226,cmdblindlook:226,cmdblock:25,cmdboot:157,cmdbridgehelp:233,cmdbui:85,cmdbuildshop:85,cmdcallback:193,cmdcast:220,cmdcboot:164,cmdcdesc:164,cmdcdestroi:164,cmdchannel:164,cmdchannelcr:164,cmdcharactercr:181,cmdcharcreat:156,cmdchardelet:156,cmdclimb:232,cmdclock:164,cmdcloselid:226,cmdcolortest:156,cmdcombathelp:[217,218,219,220,221],cmdconfigcolor:81,cmdconfirm:33,cmdconnect:41,cmdcopi:159,cmdcover:182,cmdcpattr:159,cmdcraftarmour:29,cmdcreat:159,cmdcreatenpc:123,cmdcreatepuzzlerecip:203,cmdcwho:164,cmddarkhelp:233,cmddarknomatch:233,cmddeclin:179,cmddefend:116,cmddelcom:164,cmddesc:[159,187],cmddestroi:159,cmddiagnos:30,cmddice:[58,185],cmddig:159,cmddisconnect:41,cmddisengag:[116,217,218,219,220,221],cmddoff:218,cmddon:218,cmddrop:[165,182],cmdeast:233,cmdecho:[5,29,33,38,170],cmdedit:180,cmdeditnpc:123,cmdeditorbas:326,cmdeditorgroup:326,cmdeditpuzzl:203,cmdemit:157,cmdemot:206,cmdentertrain:121,cmdevalu:179,cmdevenniaintro:233,cmdevmenunod:328,cmdexamin:159,cmdexiterror:44,cmdexiterroreast:44,cmdexiterrornorth:44,cmdexiterrorsouth:44,cmdexiterrorwest:44,cmdextendedroomdesc:187,cmdextendedroomdetail:187,cmdextendedroomgametim:187,cmdextendedroomlook:187,cmdfeint:116,cmdfight:[217,218,219,220,221],cmdfind:159,cmdfinish:179,cmdforc:157,cmdget:[25,165],cmdgetinput:328,cmdgetweapon:232,cmdgive:[165,182],cmdgmsheet:58,cmdgrapevine2chan:164,cmdhandler:[31,33,83,89,141,142,144,149,151,152,153,154,156,167,168,170,187,203,233,246,247,256,344],cmdhelp:[116,166,217,218,219,220,221],cmdhit:116,cmdhome:165,cmdic:156,cmdid:272,cmdinsid:121,cmdinterrupt:170,cmdinventori:[82,165,182],cmdirc2chan:164,cmdircstatu:164,cmdlaunch:21,cmdlearnspel:220,cmdleavetrain:121,cmdlen:[151,168],cmdlight:232,cmdline:267,cmdlineinput:326,cmdlink:159,cmdlistarmedpuzzl:203,cmdlistcmdset:159,cmdlisthangout:119,cmdlistpuzzlerecip:203,cmdlock:159,cmdlook:[30,127,165,181,187,233],cmdlookbridg:233,cmdlookdark:233,cmdmail:199,cmdmailcharact:199,cmdmakegm:58,cmdmask:206,cmdmobonoff:231,cmdmore:329,cmdmorelook:329,cmdmultidesc:[57,202],cmdmvattr:159,cmdmycmd:[56,68],cmdname2:151,cmdname3:151,cmdname:[40,59,74,83,88,123,137,150,151,154,159,167,168,170,272,290,291,295,296,308],cmdnamecolor:215,cmdnewpassword:157,cmdnick:165,cmdnoinput:180,cmdnomatch:180,cmdnpc:123,cmdnudg:226,cmdobj:[150,151,168,170],cmdobj_kei:150,cmdobject:[150,151,169],cmdoffer:179,cmdooc:156,cmdooccharactercr:181,cmdooclook:[156,181],cmdopen:[159,212],cmdopenclosedoor:212,cmdopenlid:226,cmdoption:156,cmdpage:164,cmdparri:116,cmdparser:[104,141,142,149],cmdpass:[217,218,219,220,221],cmdpassword:156,cmdperm:157,cmdplant:234,cmdpoke:119,cmdpose:[116,165,206],cmdpressbutton:232,cmdpushlidclos:226,cmdpushlidopen:226,cmdpy:169,cmdquell:156,cmdquit:156,cmdread:232,cmdrecog:206,cmdreload:169,cmdremov:182,cmdreset:169,cmdrest:[217,218,219,220,221],cmdroll:91,cmdrss2chan:164,cmdsai:[116,165,206],cmdsaveyesno:326,cmdscript:[159,169],cmdsdesc:206,cmdser:328,cmdserverload:169,cmdservic:169,cmdsession:156,cmdset:[2,7,14,21,22,25,31,33,34,40,41,42,44,47,51,53,57,60,62,68,69,81,82,85,89,96,97,105,116,121,123,141,142,144,149,150,151,153,154,159,160,161,162,163,166,167,168,169,170,179,180,181,182,185,187,189,193,199,203,206,213,214,217,218,219,220,221,226,230,231,232,233,234,241,246,247,256,298,305,306,318,326,328,329],cmdset_account:[2,141,142,149,155,181],cmdset_charact:[5,96,141,142,149,155,182,217,218,219,220,221],cmdset_mergetyp:[51,188,230,249,328],cmdset_prior:[51,188,230,249,328],cmdset_red_button:[141,142,178,222],cmdset_sess:[105,141,142,149,155],cmdset_stack:153,cmdset_storag:[148,246,306],cmdset_trad:179,cmdset_unloggedin:[33,141,142,149,155,186],cmdsetattribut:159,cmdsetclimb:232,cmdsetcrumblingwal:232,cmdsetdesc:165,cmdsetevenniaintro:233,cmdsethandl:[105,141,142,149],cmdsethelp:166,cmdsethom:159,cmdsetkei:31,cmdsetkeystr:152,cmdsetlight:232,cmdsetmor:329,cmdsetobj:[152,153,160,161,162,163,179,180,181,182,185,187,203,206,214,217,218,219,220,221,226,230,231,232,233,326,328,329],cmdsetobjalia:159,cmdsetpow:123,cmdsetread:232,cmdsetspe:213,cmdsettestattr:50,cmdsettrad:179,cmdsettrain:121,cmdsetweapon:232,cmdsetweaponrack:232,cmdsheet:58,cmdshiftroot:232,cmdshoot:[21,221],cmdshutdown:169,cmdsmashglass:226,cmdsmile:33,cmdspawn:159,cmdspellfirestorm:28,cmdstatu:[179,220,221],cmdstop:213,cmdstring:[33,58,150,154,167,170],cmdstyle:156,cmdtag:159,cmdtalk:214,cmdteleport:159,cmdtest:[29,42,91],cmdtestid:33,cmdtestinput:51,cmdtestmenu:[51,188,328],cmdtime:[62,169],cmdtrade:179,cmdtradebas:179,cmdtradehelp:179,cmdtunnel:159,cmdtutori:233,cmdtutorialgiveup:233,cmdtutoriallook:233,cmdtutorialsetdetail:233,cmdtweet:71,cmdtypeclass:159,cmdunban:157,cmdunconnectedconnect:[171,186],cmdunconnectedcr:[171,186],cmdunconnectedhelp:[171,186],cmdunconnectedlook:[171,186],cmdunconnectedquit:[171,186],cmduncov:182,cmdunlink:159,cmdunwield:218,cmduse:219,cmdusepuzzlepart:203,cmdwait:33,cmdwall:157,cmdwear:182,cmdwerewolf:25,cmdwest:233,cmdwhisper:165,cmdwho:156,cmdwield:218,cmdwipe:159,cmdwithdraw:221,cmdyesnoquest:328,cmset:153,cmsg:43,cmud:24,cnf:[23,36],cnt:119,coast:[111,122],coastal:111,cockpit:21,code:[0,1,2,4,5,6,7,9,10,11,12,14,15,16,18,19,20,29,31,33,34,36,37,39,40,43,45,46,47,48,49,51,53,55,56,57,58,62,63,64,68,69,70,76,77,79,80,83,84,86,88,89,91,93,94,95,96,97,98,100,102,103,104,105,106,109,110,111,112,114,115,116,117,118,119,121,122,123,125,126,127,129,132,134,135,136,139,141,142,144,149,150,153,156,158,159,164,166,169,172,178,179,180,184,185,190,192,195,204,219,233,234,242,252,256,278,279,295,306,309,318,320,321,326,328,330,341,342,343,344,362,363,364],code_exec:322,codebas:[55,56,127,129,131,139,140,170],codeblock:38,codec:321,codefunc:326,coder:[22,26,56,61,79,96,124,150,247,363],codestyl:37,coerc:339,coexist:126,coin:[61,70,179],col:[3,16,330],cold:[12,43,110,169,252,257,261,305],cole:344,collabor:[4,61,64,90,131,166],collat:[83,251],collect:[11,26,31,136,150,152,203,316,344],collector:136,collectstat:[136,137,267,271],collid:[31,54,90,328],collis:[31,131,310],colon:[27,41,60,80,95,242],color:[16,18,20,33,38,49,51,53,58,59,63,69,74,79,95,109,111,114,124,129,137,139,154,156,170,183,190,206,215,230,234,251,272,279,287,290,295,296,321,330,338,343,345,364],color_ansi_bright_bg_extra_map:183,color_ansi_bright_bgs_extra_map:183,color_ansi_extra_map:183,color_markup:[141,142,178],color_no_default:183,color_typ:321,color_xterm256_extra_bg:183,color_xterm256_extra_fg:183,color_xterm256_extra_gbg:183,color_xterm256_extra_gfg:183,colorablecharact:81,colorback:343,colorcod:343,colour:[27,43,55,139,159,294,321,330],column:[16,38,46,49,58,64,69,86,111,137,154,156,235,330,344],com:[3,8,9,10,16,22,23,37,38,39,41,43,45,46,54,55,61,63,67,70,75,79,90,92,94,95,96,98,100,101,103,104,108,111,122,127,128,130,131,133,135,138,141,164,180,186,279,282,291,295,312,330,343,344,357],comb:1,combat:[11,14,25,28,31,46,55,63,64,73,79,102,108,109,111,117,122,124,125,131,139,153,217,218,219,220,221,231,256,364],combat_:[217,218,219,220,221],combat_cleanup:[217,218,219,220,221],combat_cmdset:116,combat_handl:116,combat_handler_:116,combat_movesleft:[217,218,219,220],combat_scor:123,combat_status_messag:221,combatcmdset:116,combathandl:116,combatscor:123,combatt:11,combin:[8,11,12,20,27,28,30,31,33,34,41,43,55,57,58,84,90,109,112,114,115,118,119,121,127,150,151,152,159,170,202,203,205,226,242,251,261,267,317,319,324,338,344],combo:105,come:[0,2,3,4,6,10,11,15,16,20,21,23,25,27,29,33,34,40,46,49,51,52,55,57,58,61,62,64,69,73,80,83,85,88,91,93,100,105,111,114,116,118,119,121,123,124,126,129,131,133,134,135,137,144,152,187,204,217,218,219,220,221,251,252,285,290,295,296,298,304,321,329,362],comet:[40,55,137,296],comfort:[15,55,69,91,131],comlist:[43,164],comm:[33,34,41,47,53,64,68,71,141,142,149,155,324,362],comma:[20,43,46,86,95,114,134,159,167,198,199,242,247],command:[0,2,4,6,8,9,10,11,12,13,15,18,19,20,21,23,24,26,27,34,36,38,40,46,47,48,49,50,51,52,55,56,57,59,61,63,64,65,66,69,72,74,75,76,77,79,80,82,83,86,87,89,90,92,93,95,96,98,102,103,104,105,106,108,109,110,111,112,113,114,117,118,119,120,122,124,125,126,128,129,130,131,136,137,138,139,140,141,142,144,146,175,178,179,180,181,182,185,186,187,188,189,191,194,196,199,202,203,206,210,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,236,239,241,242,247,251,252,256,264,267,272,276,277,285,287,290,291,295,296,298,299,305,306,318,320,321,324,326,328,329,338,341,344,362,364],command_default_arg_regex:33,command_default_class:25,command_pars:151,commandhandl:[74,153,168],commandmeta:154,commandnam:[33,74,83,234,267,276,306,308],commandset:[5,80,89,153,181],commandtest:[127,170,196],comment:[8,9,13,14,24,25,37,41,48,51,60,90,96,118,125,138,322,328],commerc:79,commerci:[90,106],commerror:176,commit:[15,23,25,36,37,38,64,66,98,100,108,128,130,209,315],commmand:[212,217,218,219,220,221],common:[1,6,10,12,15,16,20,26,27,30,33,38,40,41,43,51,53,59,60,61,62,63,64,68,69,73,74,79,80,83,88,90,91,94,97,105,107,109,112,113,115,116,119,123,124,125,131,133,139,152,159,164,179,205,206,213,242,256,295,299,317,327,329,339,341,344,350,362],commonli:[23,63,64,83,86,87,96,104,105,107,115,119,128,170,247],commonmark:38,commun:[8,22,23,33,40,41,45,47,53,55,57,60,64,70,72,79,83,88,90,91,92,103,106,113,114,137,139,144,161,164,172,175,176,177,199,230,246,264,276,277,287,288,290,291,292,293,306,308,324,325,340,364],compact:[85,134,226],compani:[64,88],compar:[4,9,13,15,27,28,29,31,41,44,58,73,83,85,91,97,116,119,123,127,131,136,170,203,205,217,218,219,220,221,241,242,252,321,344],comparison:[13,93,170,241,252,328],compartment:58,compass:20,compat:[14,21,51,94,159,330,337,344],compet:[15,88],compil:[9,33,38,47,56,63,75,76,90,94,95,108,159,165,166,171,182,206,321,326,328,343],compilemessag:76,complain:[42,60,86,91,110,128],complement:[26,107],complementari:113,complet:[2,10,11,13,14,15,22,23,25,27,31,33,36,37,43,44,49,50,58,59,61,62,64,67,70,77,81,85,88,89,90,95,96,102,104,105,107,109,110,111,122,123,127,128,131,139,144,152,153,154,167,169,183,187,188,190,195,218,226,233,247,260,267,269,277,278,295,316,322,327,328,329,341,344,357],complete_task:195,complex:[11,14,15,20,31,33,51,59,61,62,64,73,76,77,86,93,96,100,104,108,111,115,116,123,127,138,153,175,196,204,214,226,252,299,316],complianc:[24,187],compliant:[39,291],complic:[0,10,22,29,41,43,49,69,90,91,111,133,134,171,186,188,215,316],compon:[29,33,40,43,49,58,90,93,94,96,102,110,114,116,124,127,135,137,138,139,159,169,176,177,184,203,205,252,253,256,259,267,296,324,327,341,344,364],componentid:137,componentnam:137,componentst:[137,138],compos:[100,188],composit:[293,317],comprehens:[34,55,63,80,93,96,103,124,125,127],compress:[74,272,276,280,340],compress_object:340,compris:144,compromis:[103,209],comput:[10,12,43,49,56,60,63,64,72,73,100,113,115,124,131,132,157,169,206,344,345],computation:115,comsystem:177,con:[43,58,79,171,186],concaten:[67,321],concept:[11,37,38,39,40,46,57,61,69,76,77,92,96,115,124,131,139,181,202],conceptu:[49,51],concern:[25,44,63,76,88,95,96,152,204,239],conch:[94,287,290,298],conclud:[96,179,328],concurr:23,conda:9,conder:322,condit:[8,46,49,55,61,73,85,91,93,96,123,124,150,185,206,219,242,247,259,266,267,312,344],condition:25,condition_result:185,condition_tickdown:219,conditional_flush:334,conduct:136,conductor:121,conect:308,conf:[4,8,9,23,25,35,36,38,40,41,47,54,62,65,67,69,74,76,80,81,86,90,93,102,103,109,114,120,121,127,130,131,133,134,135,139,144,183,267,273,274,313,322,364],confer:[79,344],confid:[37,39,42],config:[2,4,9,36,40,59,63,90,98,103,106,130,131,137,138,139,263,267,269,273,274,285,364],config_1:2,config_2:2,config_3:2,config_color:81,config_fil:67,configcmd:81,configdict:[287,308],configur:[0,2,7,25,36,38,43,45,47,54,59,62,63,64,69,90,100,103,114,120,124,127,136,138,139,144,148,151,156,209,210,234,269,274,285,308,310,312,313,317,357,364],configut:106,configvalu:59,confirm:[8,33,43,63,103,137,159,186,203,291,294,362],conflict:[41,42,126],confus:[10,22,26,31,44,58,59,60,64,77,80,87,90,91,93,97,114,119,126,131,136,137,140,164,186,362],conid:286,conj:247,conjug:247,conjur:220,conn:[43,171,186],conn_tim:105,connect:[0,2,4,7,8,9,11,12,13,17,18,23,24,25,31,33,34,40,41,46,47,49,55,57,60,63,64,65,66,67,69,72,74,76,77,80,83,85,88,89,91,92,93,96,98,100,101,102,103,104,105,107,110,111,114,120,123,125,126,127,136,137,139,144,146,148,156,157,159,164,171,175,177,186,190,192,193,195,210,213,246,247,253,262,264,267,269,276,277,278,279,280,285,286,287,290,295,296,298,299,305,306,307,308,309,312,316,318,324,340,364],connection_cr:107,connection_screen:[35,104],connection_screen_modul:186,connection_set:54,connection_tim:[144,247],connection_wizard:[141,142,262],connectiondon:269,connectionlost:[269,276,277,287,290,298],connectionmad:[264,276,287,290,298],connectionwizard:265,connector:[264,278,279,285,308],consecut:51,consequ:[90,153],consid:[0,4,10,12,13,14,23,26,27,31,33,37,39,40,44,46,51,55,57,61,63,64,70,74,78,80,82,85,86,90,93,96,97,102,103,105,109,112,113,114,115,119,121,125,131,133,134,135,144,152,153,188,203,205,206,221,234,247,252,256,272,287,290,317,322,323,328,329],consider:[68,86,104,111,118,241,252,330],consist:[2,11,17,33,38,44,46,48,51,68,80,86,92,95,96,109,110,114,116,122,123,135,137,144,151,166,167,175,176,179,203,205,236,242,252,291,296,306,315,316,318,324,330,344,362],consol:[9,19,23,26,38,42,43,60,63,64,75,83,90,93,95,96,97,100,106,114,123,137,138,169,206,267],conson:205,constant:[0,88,276,342],constantli:[96,117,233],constitu:[153,167],constraint:[0,23],construct:[20,29,34,36,51,64,119,133,138,252,311,316,321,329,357],constructor:[22,33,180,278],consum:[10,269,344],consumer_kei:[71,120],consumer_secret:[71,120],consumpt:[23,310],contact:[89,90,100],contain:[0,5,7,9,10,11,13,14,16,17,18,20,21,22,25,26,31,33,34,37,38,39,40,41,43,46,47,51,53,55,56,57,62,63,64,68,69,70,75,79,80,86,89,91,95,96,97,101,102,104,105,114,118,119,122,123,124,126,127,128,129,133,134,136,137,138,139,141,142,144,146,149,150,151,152,153,155,158,159,164,166,170,172,180,188,189,192,193,194,195,196,198,203,204,205,206,210,211,213,215,219,226,232,234,235,238,240,247,249,251,252,260,262,266,270,272,298,310,311,312,316,317,318,319,320,321,322,325,327,328,329,330,341,343,344,345,355,362,363],container:100,contempl:56,content:[3,4,13,16,17,21,27,38,39,43,48,49,51,56,58,69,77,79,82,85,89,90,91,93,95,96,117,119,121,123,125,131,133,134,137,138,139,154,157,159,206,246,247,315,319,321,322,323,326,328,330,341,346,355],content_typ:[246,247],contentof:330,contents_cach:246,contents_get:[119,247],contents_set:247,contentshandl:246,context:[46,51,55,69,91,114,119,126,133,180,195,288,292,350,362],contextu:112,continu:[7,10,11,21,27,29,33,37,42,45,46,49,51,55,58,60,69,71,75,85,86,90,95,96,112,114,115,116,119,123,124,127,136,139,247,265,276,312,316,328,337,344,364],contrari:[0,38,41,43,62,169,319],contrast:[56,90,96,113,138,291],contrib:[4,13,14,20,38,46,47,53,57,58,62,63,64,73,78,102,116,122,141,142,144,145,148,173,237,244,254,263,309,315,321,322,349,357,362,364],contribrpcharact:206,contribrpobject:206,contribrproom:206,contribut:[1,4,22,26,45,55,70,78,82,124,127,131,136,139,178,179,181,182,183,185,187,199,203,204,206,209,210,212,213,214,234,363,364],contributor:[78,180],control:[2,5,7,9,11,12,13,14,19,20,21,31,33,34,36,37,38,42,43,47,50,51,52,53,55,57,58,61,63,64,67,68,73,74,80,81,83,86,89,90,92,93,96,102,103,105,108,109,110,114,118,121,123,124,128,135,138,139,144,146,156,158,159,164,170,179,181,194,206,226,231,233,235,241,247,256,267,306,308,318,328,357,364],convei:[206,247],convenei:107,conveni:[8,9,10,11,21,34,36,40,41,43,51,55,57,59,69,74,80,86,89,96,98,102,106,108,109,110,125,127,133,140,144,159,169,180,199,247,310,322,323,328,329,337,340,341],convent:[0,31,86,96,107,119,126],convention:[41,154,247,318],convers:[51,87,121,127,138,205,214,295,296,321,344,363],convert:[11,27,39,40,49,51,59,62,64,79,81,83,85,87,88,103,109,113,114,119,126,128,157,184,185,188,215,241,251,252,257,276,278,287,290,291,308,312,321,325,328,329,330,331,340,343,344,363],convert_linebreak:343,convert_url:343,convinc:[51,90],cool:[3,9,21,22,26,38,43,61,79,159,164],cool_gui:80,cooldown:[29,116,124,139,364],coord:39,coordi:39,coordin:[49,124,137,139,221,235,364],coordx:39,coordz:39,cope:220,copi:[0,1,4,13,14,20,25,26,33,36,47,48,50,51,62,64,81,90,93,96,100,104,105,109,111,123,128,131,133,135,136,137,138,158,159,182,195,217,218,219,220,221,233,247,267,276,313,321,337,362],copy_object:247,copyright:[78,90],cor:138,core:[19,37,43,47,49,76,78,88,89,94,96,104,106,125,127,131,139,144,148,169,177,178,199,239,241,246,247,256,262,274,284,291,305,316,318,319,322,329,335,357,362],corner:[17,39,57,79,138,235,330],corner_bottom_left_char:330,corner_bottom_right_char:330,corner_char:330,corner_top_left_char:330,corner_top_right_char:330,corpu:205,correct:[10,11,14,21,23,27,30,31,33,37,43,48,50,60,80,91,113,114,121,123,126,150,156,159,170,176,187,203,228,242,282,285,287,293,307,321,344],correctli:[4,8,9,27,29,33,36,38,42,44,49,50,51,61,62,72,77,80,85,90,91,94,97,110,112,115,121,122,123,126,144,148,153,156,257,276,312,340],correl:252,correspond:[20,33,80,83,85,105,135,184,203,215,315,357],correspondingli:128,corrupt:56,cosi:111,cosin:344,cosmet:235,cost:[28,85,90,220,235],cottag:[111,114],could:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,19,20,21,22,25,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,46,47,48,49,51,55,57,58,60,61,62,63,64,65,68,69,71,72,73,79,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,98,102,106,108,109,111,112,113,114,115,116,117,118,119,120,121,123,125,126,127,128,129,132,133,135,136,138,140,144,153,159,166,176,177,179,180,185,190,198,204,206,213,215,226,233,235,241,242,247,259,272,291,296,312,318,321,322,326,330,331,334,339,344],couldn:[11,19,39,44,64,76,91,126,134,140,204],count:[64,102,104,116,119,120,152,182,215,219,247,281,285,298,302,308,310,317,321,328,337],count_loggedin:285,count_queri:302,countdown:[20,29],counter:[6,22,29,69,85,105,116,128,146,233,285,298,299,306,328],counterpart:[13,114,272,308,325],countless:95,countnod:51,countri:[43,157],coupl:[22,48,69,100,117,131,175,213],cours:[0,4,9,12,15,21,22,26,33,38,41,46,57,61,64,77,78,91,93,106,108,114,115,122,123,124,132,140,218,221,230],courtesi:12,cousin:[91,129],cover:[6,8,9,13,14,23,29,37,40,48,51,57,59,63,79,80,86,90,95,96,120,127,131,182,187,226,233,247,344,363],coverag:127,coveral:127,cpanel:90,cpattr:159,cpu:[12,43,90,103,169],cpython:93,crack:[61,86],craft:[29,80,111,188],crank:115,crash:[26,60,61,79,103,111,271,316],crate:[20,87,124],crawl:103,crawler:281,cre:[43,171,186],creat:[4,9,11,13,14,15,16,19,22,23,25,26,29,31,34,35,37,38,39,40,41,42,44,46,47,49,50,54,55,56,57,58,60,61,62,63,64,65,66,67,68,70,71,72,73,75,76,77,78,79,80,81,83,85,87,90,91,93,95,96,102,103,104,105,106,107,108,109,112,116,117,118,119,120,122,124,127,129,130,131,132,134,135,136,137,138,139,140,141,142,144,145,146,148,151,152,153,154,156,159,164,165,166,167,168,169,170,171,175,177,179,180,181,182,184,185,186,187,188,189,194,195,196,198,199,202,203,204,205,206,210,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,239,242,244,246,247,249,250,251,252,256,259,260,261,264,267,271,272,277,279,280,285,287,288,292,299,307,308,310,312,316,317,318,319,320,322,323,326,327,328,330,331,337,344,360,362,363],create_:[89,125],create_account:[107,125,141,324],create_attribut:316,create_cal:144,create_channel:[34,141,164,175,271,324],create_charact:[144,247],create_delai:260,create_exit:[159,212],create_exit_cmdset:247,create_forward_many_to_many_manag:[148,177,239,246,256,316,318,319,335],create_game_directori:267,create_grid:49,create_help_entri:[68,141,324],create_kwarg:252,create_match:151,create_messag:[34,141,324],create_object:[13,27,80,85,89,111,123,125,133,141,226,247,252,271,322,324],create_prototyp:[251,252],create_script:[56,102,116,125,141,259,322,324],create_secret_kei:267,create_settings_fil:267,create_superus:267,create_tag:317,create_wild:235,created_on:192,creater:53,createview:362,creation:[11,14,20,21,38,43,47,49,51,58,60,61,79,80,81,86,89,97,105,111,123,125,131,133,139,140,141,144,145,148,159,164,166,175,181,203,206,210,212,217,218,219,220,221,232,233,239,244,246,247,252,256,261,300,315,318,324,326,327,328,330,357,362,363],creation_:324,creativ:[79,108],creator:[51,53,79,80,111,123,140,166,175,217,218,219,220,221,247,330],cred:[94,131,287],credenti:[90,103,131,144,287],credentialinterfac:287,credit:[90,103,131,343,344],creset:131,crew:119,criteria:[51,119,176,194,204,251,317,341],criterion:[119,131,144,179,206,238,247,258,341,344],critic:[19,26,31,60,63,67,97,102,105,114,128,242,266,267,337],critici:318,cron:67,crontab:67,crop:[58,114,159,327,330,344],crop_str:330,cross:[111,138,233,330],crossbario:295,crossbow:29,crossroad:111,crowd:[61,103],crt:[8,67],crucial:[91,115],crude:0,cruft:1,crumblingwal:232,crumblingwall_cmdset:232,crush:21,cryptic:138,cryptocurr:103,cscore:123,csessid:[285,295,296,308],csession:[295,296],csrf_token:133,css:[17,55,124,135,136,137,343],cssclass:137,ctrl:[48,63,67,90,93,95,100,110,298],culpa:52,cumbersom:[51,121,128,215],cumul:299,cup:70,cupidatat:52,cur_valu:190,cure:[219,220],cure_condit:219,curi:49,curiou:108,curli:[41,96,183],curly_color_ansi_bright_bg_extra_map:183,curly_color_ansi_bright_bgs_extra_map:183,curly_color_ansi_extra_map:183,curly_color_xterm256_extra_bg:183,curly_color_xterm256_extra_fg:183,curly_color_xterm256_extra_gbg:183,curly_color_xterm256_extra_gfg:183,curr_sess:308,curr_tim:187,currenc:[85,120],current:[0,2,9,11,12,13,14,19,20,21,22,25,27,28,29,31,33,38,41,43,46,48,49,50,51,58,59,60,64,68,74,76,77,79,80,85,86,89,94,97,100,102,104,105,106,112,114,115,116,119,120,121,123,124,127,128,131,133,137,138,144,148,150,151,153,154,156,157,159,164,165,166,168,169,179,180,182,187,188,190,195,198,202,204,206,212,213,215,217,218,219,220,221,230,232,233,235,238,246,247,252,256,260,261,267,272,277,283,284,287,288,299,306,308,310,317,318,326,328,330,331,337,338,341,344,362],current_choic:180,current_cmdset:159,current_coordin:235,current_kei:[250,251],current_us:133,current_weath:102,currentroom:121,curriculum:79,curs:42,curv:[55,56],curx:49,custom:[0,2,6,11,12,14,15,16,17,18,20,21,25,26,27,30,31,33,34,35,43,49,53,55,56,58,60,61,64,65,66,68,69,71,73,74,78,79,83,85,86,87,89,90,97,100,102,104,109,110,112,114,116,117,118,119,121,122,123,125,126,132,133,136,138,139,140,144,145,146,147,148,150,152,153,154,159,164,165,166,175,179,181,182,184,185,187,188,189,195,198,203,205,206,209,210,226,230,232,233,235,238,241,245,247,249,250,251,252,255,261,263,267,271,273,276,298,307,318,323,326,328,329,330,334,338,339,343,344,349,362,364],custom_add:195,custom_cal:[195,198],custom_gametim:[62,141,142,178],custom_kei:251,custom_pattern:[3,4,69,133,134],customfunc:83,customis:235,customiz:[17,41,180,188,190,206,226],customlog:8,cut:[20,40,49,50,55,91,111,123,252],cute:136,cutoff:344,cvcc:205,cvccv:205,cvccvcv:205,cvcvcc:205,cvcvccc:205,cvcvccvv:205,cvcvcvcvv:205,cvcvvcvvcc:205,cvv:205,cvvc:205,cwho:164,cyan:[114,126],cyberspac:79,cycl:[13,14,25,56,61,62,132,217,218,219,220,221],cyril:15,da2pmzu:122,daemon:[8,67,93,100,103,110,284,312],dai:[25,27,36,56,61,62,100,103,108,120,126,131,132,139,184,187,331,337,344,345],daili:87,dailylogfil:337,dali:205,dalnet:[43,164],dam:56,damag:[14,21,28,61,73,85,103,116,122,217,218,219,220,221,231,232],damage_rang:220,damage_taken:56,damage_valu:[217,218,219,220,221],damn:79,damnedscholar:48,dandi:140,danger:[13,31,38,82,97,105,152],dare:33,dark:[13,14,17,31,73,79,111,114,122,126,153,187,226,233,241,256,321,322],darkcmdset:233,darker:[114,126],darkgrai:126,darkroom:233,darkroom_cmdset:233,darkstat:233,dash:[38,119,204,215],dashcount:215,data:[2,10,13,15,22,23,25,27,43,56,57,58,59,61,64,75,83,86,87,88,90,93,96,97,100,102,104,109,112,113,119,125,128,133,134,135,137,138,139,144,145,146,154,159,169,188,190,194,195,206,209,210,237,244,246,247,249,251,253,259,261,264,265,269,273,274,276,277,278,279,280,285,286,287,288,290,291,292,294,295,296,298,299,300,305,306,307,308,310,314,315,316,317,318,319,321,322,323,324,325,327,328,329,330,333,337,338,339,340,344,357,362],data_in:[40,83,210,276,278,279,285,286,290,295,296,306,307,308],data_out:[40,210,285,287,290,291,296,306,307,308],data_to_port:264,data_to_serv:277,databa:267,databas:[0,4,5,6,7,11,12,13,15,17,19,20,21,23,25,27,28,29,31,34,36,38,39,43,45,47,55,56,57,58,59,60,61,63,64,74,77,80,84,87,89,91,93,100,101,102,104,105,107,110,111,112,115,116,119,123,124,125,127,131,133,134,135,136,138,139,140,144,148,152,153,159,166,169,173,175,176,177,187,194,195,206,220,233,236,238,239,241,244,246,247,251,253,254,256,257,260,261,267,271,273,284,298,305,314,315,316,317,318,319,322,324,325,332,334,340,341,344,346],datareceiv:[269,276,290,298],dataset:251,datastor:86,datbas:119,date:[7,11,12,23,34,49,62,68,75,76,86,126,128,131,133,138,145,153,157,209,331,337,345],date_appli:133,date_cr:[125,144,148,177,256,316,318],date_join:[145,148],date_s:34,datetim:[62,125,133,316,331,337,338,344,345],datetime_format:344,datetimefield:[86,133,145,148,177,246,256,316,318,344],david:79,day_rot:337,db3:[23,111,128,131],db_:[84,86,119,125,206,247,257,272,341],db_account:[182,244,246,256],db_account__db_kei:244,db_account_id:[246,256],db_account_subscript:[173,177],db_attribut:[107,119,145,148,177,244,246,256,318],db_attrtyp:316,db_attryp:87,db_categori:[86,315,316,319],db_category__iequ:86,db_channel:173,db_cmdset_storag:[145,148,182,244,246],db_data:[315,319],db_date_cr:[86,148,173,177,182,246,256,316,318],db_desc:256,db_destin:[182,244,246],db_destination__isnul:120,db_destination_id:246,db_entrytext:[237,239],db_header:177,db_help_categori:[237,239],db_help_dict:166,db_hide_from_account:177,db_hide_from_object:177,db_hide_from_receiv:177,db_hide_from_send:177,db_home:[182,244,246],db_home_id:246,db_index:86,db_interv:[254,256],db_is_act:256,db_is_bot:[145,148],db_is_connect:[145,148],db_kei:[69,84,86,119,125,145,173,182,194,237,239,244,254,257,263,274,315,316,318,319,357],db_key__contain:125,db_key__icontain:86,db_key__istartswith:119,db_key__startswith:[119,125],db_locat:[84,119,182,244,246],db_location__db_tags__db_kei:119,db_location__isnul:120,db_location_id:246,db_lock_storag:[145,173,177,182,237,239,244,316,318],db_messag:[173,177],db_model:[316,319],db_obj:[254,256,325],db_obj_id:256,db_object_subscript:[173,177],db_permiss:[86,145],db_persist:[254,256],db_properti:272,db_protototyp:251,db_receiv:173,db_receiver_extern:177,db_receivers_account:177,db_receivers_object:177,db_receivers_script:177,db_repeat:[254,256],db_sender:173,db_sender_account:177,db_sender_extern:177,db_sender_object:177,db_sender_script:177,db_sessid:[182,244,246],db_staff_onli:[237,239],db_start_delai:[254,256],db_strvalu:316,db_tag:[119,145,148,177,237,239,244,246,256,318,319],db_tags__db_categori:[39,119],db_tags__db_kei:[39,119,173],db_tags__db_key__in:39,db_tagtyp:[315,319],db_text:86,db_typeclass_path:[86,120,145,182,244,246,254,318,344],db_valu:[84,263,274,316],dbef:341,dbhandler:357,dbholder:316,dbid:[43,125,146,164,318],dbid_to_obj:344,dbmodel:317,dbobj:[11,316],dbobject:[11,317,318],dbprototyp:[169,251],dbref:[12,13,20,43,58,66,80,109,111,116,119,121,122,125,128,144,148,157,159,164,169,176,188,203,206,212,233,235,241,246,247,252,256,258,317,318,324,341,344],dbref_search:317,dbref_to_obj:344,dbrefmax:[43,159],dbrefmin:[43,159],dbsafe_decod:340,dbsafe_encod:340,dbserial:[11,97,141,142,257,320],dbshell:[23,86,110,128],dbunseri:325,ddesc:56,deactiv:[43,63,64,81,117,164,187,231,328],dead:[112,231,232,305,308,334],deadli:122,deal:[10,11,12,15,41,51,64,69,73,91,103,105,112,113,116,124,126,127,131,134,138,139,144,179,180,184,188,217,218,219,220,221,246,247,306,318,321,338,362],dealt:[167,219,220],dealth:219,death:[51,73,120],death_msg:231,death_pac:231,debat:91,debian:[8,23,63,67,131],debug:[14,27,43,45,51,59,72,74,91,95,102,106,135,139,150,154,158,169,188,230,249,267,272,278,279,290,312,322,328,337,344,364],debugg:[15,42,110,141],decemb:90,decend:[51,150],decent:[93,205],decic:205,decid:[4,14,15,25,33,41,46,58,61,69,73,85,86,88,90,103,105,112,114,116,126,138,150,179,217,242,329],deciph:48,decis:[73,115],declar:[114,340],declared_field:[145,237,244,315,357],declin:[51,179],decod:[15,291,321,344],decode_gmcp:291,decode_msdp:291,decoded_text:344,decompos:133,decompress:[276,340],deconstruct:[122,170,228,293,342],decor:[0,29,33,46,107,131,148,170,246,256,264,276,277,318,324,328,329,344],decoupl:[9,251],decoupled_mut:11,decreas:[220,233,326],decrease_ind:326,dedent:[50,344],dedic:[73,90,127],deduc:326,deduce_ind:326,deduct:[73,85,217,218,219,220,221],deem:[37,57,129,131,178,362],deep:79,deeper:[41,215],deepest:159,deepli:11,deepsiz:344,def:[1,3,4,5,6,10,11,21,22,25,27,28,29,30,31,33,38,39,40,41,42,44,48,49,50,51,56,57,58,60,62,69,71,73,74,79,80,81,82,84,85,89,91,95,96,102,107,109,111,114,116,117,118,119,120,121,123,125,127,132,133,134,170,180,187,234,235,250,296,309,326,328,329,344],def_down_mod:219,defalt_cmdset:71,default_access:[1,11,316,324],default_categori:238,default_channel:34,default_charact:189,default_cmd:[5,21,22,25,28,29,30,41,44,53,57,58,62,81,116,119,141,180,182,187,199],default_cmdset:[5,22,25,30,35,41,44,57,58,60,62,81,105,123,153,180,181,182,187,188,202,212,215,217,218,219,220,221],default_command:25,default_confirm:[159,203],default_error_messag:340,default_help_categori:166,default_hom:[59,109],default_in:137,default_out:137,default_pass:324,default_screen_width:33,default_set:[3,127],default_transaction_isol:23,default_unload:137,defaultaccount:[2,41,43,53,64,125,141,144,146,160,247,342,357,362],defaultchannel:[6,53,125,141,164,175,362],defaultcharact:[5,6,22,25,43,53,57,58,60,62,73,81,86,89,96,123,125,127,141,144,161,180,182,189,206,217,218,219,220,221,247,342,357,362],defaultcmdset:185,defaultdict:257,defaultexit:[6,53,85,89,125,141,212,213,232,235,247,342],defaultguest:[53,141,144],defaultlock:241,defaultmod:337,defaultobject:[5,6,26,53,60,64,82,85,86,89,96,111,117,119,121,125,141,144,182,206,214,218,221,226,232,247,318,342,357,362],defaultpath:344,defaultroom:[6,39,49,53,56,85,89,125,132,141,187,206,233,235,247,342],defaultscript:[53,56,102,116,120,121,125,141,146,179,184,195,203,204,205,217,218,219,220,221,223,235,251,258,259,300,331,342],defaultsess:[43,162],defaulttyp:312,defaultunloggedin:[43,163],defeat:[73,116,122,217,218,219,220,221,231],defeat_msg:231,defeat_msg_room:231,defend:[51,116,122,217,218,219,220,221,232,247],defens:[116,217,218,219,220,221],defense_valu:[217,218,219,220,221],defer:[10,27,29,33,94,133,145,148,150,177,187,213,239,246,247,256,260,264,274,276,277,308,312,316,318,319,335,337],deferredlist:312,defin:[0,2,4,5,10,11,12,13,14,20,21,22,25,27,30,35,36,38,40,42,43,44,46,49,50,53,55,56,57,58,59,61,62,64,68,69,73,74,77,78,81,83,85,88,89,91,95,96,97,104,106,109,111,113,114,115,117,119,121,123,125,126,127,129,133,135,136,137,138,139,141,143,145,148,150,152,153,154,156,159,165,167,169,170,173,175,176,177,180,182,183,184,185,187,188,194,195,198,203,204,205,206,214,215,219,220,223,232,233,236,237,238,239,240,241,242,243,244,246,247,251,252,256,259,261,262,264,267,274,277,298,299,306,307,308,311,314,316,317,318,319,321,322,323,326,328,331,335,339,341,344,346,357,362],define_charact:51,definit:[0,2,5,10,12,14,20,33,34,39,41,42,43,55,60,61,68,69,82,83,87,88,89,109,114,115,124,127,152,154,159,164,167,192,203,232,240,242,246,251,252,258,322,324,328,340],defit:51,deflist:312,degrad:127,degre:38,deindent:344,del:[11,12,29,43,58,80,116,122,157,159,187,202,203,318],del_callback:[193,195],del_detail:187,del_pid:267,delai:[0,28,33,45,120,184,188,195,213,226,232,260,261,279,285,308,323,344],delaliaschan:[43,164],delayed_import:308,delchanalia:[43,164],delcom:[58,164],deleg:[148,177,239,246,256,316,318,319,335],delet:[2,4,7,11,12,13,20,22,23,31,43,50,51,63,66,68,80,87,89,98,100,102,105,107,111,112,116,122,128,131,144,153,156,157,158,159,164,165,166,169,175,177,187,192,193,195,196,199,202,203,212,232,239,242,247,251,257,258,259,260,261,273,285,306,315,316,318,321,322,328,334,360,362],delete_attribut:316,delete_default:[31,153],delete_prototyp:251,deletet:187,deleteview:362,deliber:[11,42,129,344],delic:182,delimit:[91,167,322],delin:48,deliv:[90,199,206],delpart:203,delresult:203,deltatim:344,delux:90,demand:[30,58,61,73,90,115,117,144,175,187,247,309,323],demo:[22,55,79,138,229,230,328],democommandsetcomm:230,democommandsethelp:230,democommandsetroom:230,demon:109,demonin:344,demonstr:[0,4,22,126,133,180,188,209,219],demowiki:4,deni:[8,103,194,198],denot:[56,114,134,322],denounc:327,depart:49,depend:[0,4,10,11,12,14,15,16,22,27,31,33,34,37,40,43,46,49,51,55,57,58,61,63,64,69,72,73,74,75,83,85,88,90,93,95,97,100,102,103,104,105,106,111,114,115,116,118,123,125,131,133,134,137,138,143,150,152,154,156,169,180,181,185,187,193,205,226,235,242,247,251,261,267,287,290,296,298,308,318,319,326,328,329,344],deplet:219,deploi:[38,46,90,103],deploy:[36,38,79,90,100,106],depmsg:337,deprec:[27,51,109,141,142,153,252,262,321,328,337,344],deprecationwarn:266,depth:[16,17,36,95,114,122,124,166,215,252],dequ:[11,310],deriv:[23,56,63,67,100,108,119,125,127,234,321,345],desc:[14,20,21,22,34,41,57,58,60,69,74,80,84,85,89,102,109,111,116,120,134,153,156,159,164,170,180,182,187,202,203,212,215,220,226,235,256,265,322,324,326,327,328,357,362],desc_add_lamp_broken:226,desc_al:231,desc_closed_lid:226,desc_dead:231,desc_open_lid:226,descend:[119,357],describ:[5,9,11,13,14,20,21,22,30,31,33,37,43,46,51,55,58,62,63,64,68,69,71,75,76,79,80,85,86,88,90,92,96,102,109,110,111,113,114,116,124,125,127,128,131,133,135,137,139,152,159,163,164,165,177,182,184,187,204,206,220,226,244,252,259,264,285,287,290,300,328,343,344,363],descripion:231,descript:[0,14,15,20,21,22,34,39,41,43,46,49,51,54,55,57,58,60,61,68,74,77,85,90,96,102,109,111,112,126,129,131,133,134,135,139,145,156,159,164,165,175,179,180,182,187,202,204,206,212,215,226,230,231,232,233,234,235,237,241,244,247,256,322,324,328,338,339],description_str:111,descvalidateerror:202,deseri:[11,97,338],deserunt:52,design:[14,16,23,26,33,37,39,41,55,57,61,79,89,91,108,109,111,112,117,118,119,124,129,133,138,153,159,180,194,206,209,232,247,322,338,344],desir:[1,4,27,28,29,43,49,57,58,59,91,108,112,114,115,119,121,123,133,137,159,175,183,205,242,267,312,316,324,330,345],desired_perm:242,desktop:[15,16,138],despit:[11,13,57,63,64,79,81,105,233],dest:[234,247],destin:[0,22,25,33,43,49,74,77,85,89,91,109,111,119,121,159,209,212,213,217,218,219,220,221,232,233,241,246,247,252,324,362],destinations_set:246,destroi:[0,20,89,103,116,127,144,146,159,164,203,219,247],destroy:212,destroy_channel:164,destruct:[31,152],detach:106,detail:[2,5,9,12,15,19,20,22,26,30,33,34,37,41,46,51,58,60,61,63,64,80,88,89,90,91,93,95,96,105,109,111,114,116,118,122,124,125,128,129,131,134,135,136,139,145,153,154,159,175,180,187,203,204,206,218,233,235,239,244,252,260,269,270,306,308,318,321,326,344,360,362],detail_color:159,detailkei:[187,233],detailview:362,detect:[31,33,36,38,61,81,88,89,103,105,118,151,154,279],determ:317,determin:[2,4,13,15,20,27,29,31,33,34,39,43,44,49,50,51,52,63,73,80,82,83,85,87,93,102,109,110,116,123,136,137,144,145,152,153,154,156,164,167,170,173,175,179,205,206,213,215,217,218,219,220,221,232,239,242,244,247,251,291,316,317,318,321,326,329,337,344],detour:[21,83,308],dev:[1,23,37,55,57,61,63,64,67,71,76,79,90,95,98,138],develop:[3,9,15,16,19,20,25,26,27,33,36,37,38,42,43,48,54,55,56,58,60,61,63,64,68,70,71,72,76,77,80,86,88,90,91,93,94,96,97,99,104,106,108,109,111,114,123,126,131,133,135,136,137,138,139,157,158,164,166,169,175,192,193,198,209,239,247,252,313,318,322,328,363,364],devoid:321,dex:[11,51,58,327],dexter:[217,218,219,220,221],diagnos:[30,97],diagram:125,dialog:137,dialogu:[0,124,139,364],dice:[63,73,91,116,141,142,178],dicecmdset:185,dicenum:185,dicetyp:185,dict:[0,11,13,25,31,43,46,51,53,88,107,109,119,127,144,146,152,154,159,166,170,175,182,184,187,188,192,195,198,205,206,209,210,215,219,221,233,247,249,250,251,252,259,261,264,265,267,272,277,278,280,285,287,290,295,296,307,308,310,317,322,323,325,327,328,329,339,344,357,362],dictat:[31,62,117],dictionari:[0,10,11,13,25,31,43,49,55,56,62,69,73,80,96,97,102,109,116,124,134,138,157,159,182,184,187,188,192,195,198,205,206,209,210,211,215,219,220,233,235,242,252,260,272,285,294,306,307,308,310,317,321,323,327,328,334,338,339,340,344,357,362],did:[2,21,22,29,57,60,64,68,91,95,96,104,111,123,131,144,179,247,260,319,340,344],did_declin:179,didn:[5,20,22,38,41,42,44,49,51,58,59,61,72,80,91,100,104,119,121,126,127,133,136,140],die:[73,91,106,114,117,185,205,308],dies:231,diff:[75,131,185,252],differ:[0,2,8,9,11,13,14,15,16,19,20,21,22,24,25,27,31,33,37,38,39,40,41,42,43,44,46,47,49,50,51,54,55,57,58,61,62,63,64,66,68,69,70,73,79,80,82,83,84,87,88,91,93,95,96,100,102,103,105,106,107,109,110,111,112,113,114,115,116,118,119,120,121,124,126,127,129,131,133,136,137,138,139,140,141,144,145,150,152,153,156,159,168,169,171,175,180,184,185,186,195,196,199,204,206,213,215,217,218,219,220,221,234,235,249,252,256,261,265,269,291,296,298,315,316,318,322,324,328,337,340,344,362],differenti:[56,57,58,182,206,215,247,344],differet:61,difficult:[4,39,93,103,133,220,221],difficulti:133,dig:[0,20,31,33,40,57,58,89,93,96,109,121,123,140,159,212,299],digit:[12,90,114,127,204,311,321,337],digitalocean:[67,90],diku:[55,64,124,139,364],dikumud:129,dime:108,dimens:[49,55],dimension:58,diminish:114,dimli:111,dinner:46,dip:96,dir:[9,21,23,36,38,54,58,63,64,67,75,79,90,96,100,102,127,128,130,131,134,337,344],direct:[0,3,8,10,11,12,20,22,31,38,43,44,45,49,51,58,70,74,88,90,100,109,111,116,118,119,121,128,137,138,139,159,170,194,210,235,242,259,267,328,330,337,341,344,364],directli:[2,5,8,13,14,20,21,23,27,29,30,33,37,40,42,44,46,50,51,55,56,58,59,61,62,64,72,80,88,89,90,93,94,95,96,100,102,104,109,110,111,114,116,118,119,123,125,128,131,137,138,154,170,176,179,180,181,185,198,206,215,220,221,226,233,234,238,242,246,247,256,273,278,287,290,295,300,306,316,318,322,324,328,329,342,344],director:[206,247],directori:[4,8,9,13,20,25,27,36,37,43,45,58,59,62,63,64,69,75,76,95,96,100,106,123,125,127,128,130,131,133,134,135,136,137,139,159,209,267,287,288,312,322,337,344,364],directorylist:312,dirnam:267,dirti:55,disabl:[0,4,24,25,50,63,80,81,106,114,127,137,154,170,188,206,215,226,234,242,290,329,334,345],disableloc:290,disableremot:290,disadvantag:[58,90,116,221],disambigu:[41,72,119,154,247,318],disappear:103,discard:321,disconcert:41,disconnect:[2,11,12,40,41,43,55,57,60,92,97,105,107,110,112,116,123,128,137,144,156,159,164,167,169,175,247,277,278,279,285,286,287,290,295,296,299,305,306,307,308],disconnect_al:285,disconnect_all_sess:308,disconnect_duplicate_sess:308,disconnect_session_from_account:144,discontinu:24,discord:[9,63,72,79],discordia:108,discourag:[64,75],discov:[91,122,316],discoveri:210,discrimin:103,discuss:[1,4,25,26,33,37,45,48,55,63,69,70,116,138,139],discworld:88,disengag:[116,144,217,218,219,220,221],disk:[11,27,86,100,108,110,205,209,249],dislik:57,disonnect:11,dispatch:[37,70],dispel:126,displai:[0,17,22,25,30,31,33,38,42,43,46,50,51,58,59,60,61,68,69,73,80,81,82,83,85,88,89,91,93,101,102,103,104,111,114,116,119,123,124,133,134,135,136,137,138,139,144,145,154,156,159,164,166,169,170,171,173,179,180,182,186,187,188,190,193,195,199,206,215,226,230,232,233,234,235,237,247,251,252,254,265,267,284,302,305,310,318,319,326,327,328,329,330,338,339,340,343,344,345,357,362],display:261,display_all_channel:164,display_buff:326,display_choic:180,display_formdata:188,display_help:326,display_helptext:[249,328],display_len:344,display_met:190,display_nodetext:328,display_subbed_channel:164,display_titl:180,dispos:[111,203],disput:116,disregard:33,dist3:94,dist:[63,130],distanc:[6,27,39,46,49,64,125,205,220,221,247,344],distance_inc:221,distance_to_room:39,distant:[49,138,187,233],distinct:[55,64,105,140,221],distinguish:[22,154,215,221],distribut:[8,9,15,23,31,34,42,63,64,78,96,97,124,127,128,175,177,206,321,324,344],distribute_messag:175,distributor:34,distro:[8,23,63,67,72],disturb:[27,140],distutil:63,distutilserror:63,ditto:63,div:[3,16,17,38,109,137],dive:[22,41,63],diverg:83,divid:[13,64,69,184,233,344],dividend:184,divisiblebi:69,divisor:184,django:[2,3,4,9,12,15,23,25,36,39,55,63,69,73,76,79,86,94,101,103,104,107,112,113,120,124,125,127,128,134,136,137,139,144,145,148,171,173,175,177,186,237,239,244,246,251,254,256,263,266,267,273,274,287,293,295,296,303,309,310,311,312,315,316,318,319,322,325,329,333,334,335,340,342,344,346,349,352,357,362],django_admin:360,django_nyt:4,djangonytconfig:4,djangoproject:[23,94,357],djangowebroot:312,dmg:73,dnf:[8,63,67],do_attack:231,do_batch_delet:316,do_batch_finish:316,do_batch_update_attribut:316,do_create_attribut:316,do_delete_attribut:316,do_flush:[318,334],do_gmcp:291,do_hunt:231,do_mccp:280,do_msdp:291,do_mssp:281,do_mxp:282,do_naw:283,do_nested_lookup:159,do_not_exce:25,do_noth:230,do_patrol:231,do_pickl:325,do_task:[260,344],do_unpickl:325,do_update_attribut:316,do_xterm256:321,doabl:[14,138],doc:[11,16,17,23,25,33,45,51,53,60,64,68,70,79,86,94,95,96,109,110,125,129,130,136,139,141,159,204,234,247,278,344,357,363,364],docker:[7,63,79,90,139,364],dockerfil:100,dockerhub:100,docstr:[1,5,25,38,41,43,68,74,96,154,159,170,180,193,205,206,215,226,233,234,328],documen:96,document:[0,3,5,6,9,16,17,20,22,23,24,25,26,29,41,43,46,47,48,52,55,57,58,60,64,68,70,76,79,83,86,90,94,96,103,104,106,111,114,118,121,122,123,124,125,127,131,133,135,136,139,153,167,180,204,234,316,319,327,334,362],dodg:218,doe:[2,4,5,9,11,20,21,23,24,25,26,29,31,33,37,38,39,40,41,43,49,51,54,55,56,57,58,60,61,63,64,68,69,73,78,80,85,88,89,91,95,96,100,102,104,109,110,111,112,113,114,116,117,118,119,121,123,125,126,127,129,131,132,133,136,137,138,140,144,146,156,167,169,170,171,181,182,183,186,187,202,203,215,217,218,219,220,221,232,233,234,235,247,251,252,259,260,266,267,271,272,273,276,279,287,288,294,316,318,323,328,337,340,344,349,357,362],doesn:[0,4,9,11,13,15,22,25,26,29,33,36,37,39,44,46,49,51,57,60,61,63,69,71,72,73,75,76,78,86,88,89,90,91,95,96,103,110,111,121,123,125,126,127,128,133,136,137,138,153,164,175,177,181,187,194,195,206,219,242,247,267,280,287,291,316,321,328,339,344],doesnotexist:[144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,319,324,331,335],doff:218,dog:[27,96],doing:[2,4,10,11,27,29,31,33,36,38,39,43,46,49,51,57,58,59,60,61,64,69,70,79,80,89,90,95,96,97,105,110,114,115,119,125,126,127,133,134,137,138,144,156,175,179,182,194,206,215,217,218,219,220,221,231,232,235,241,247,261,298,328,334,340],dolor:52,dom:137,domain:[8,55,67,90,103,138,324],domexcept:90,dominion:9,dompc:9,don:[0,1,3,4,6,9,10,11,20,21,22,23,25,26,27,29,30,31,33,34,37,38,39,41,42,43,44,46,47,50,51,54,58,59,61,62,63,64,67,68,69,70,72,73,75,80,81,82,83,85,86,88,90,91,93,95,96,97,102,103,104,105,106,111,114,116,119,122,123,125,126,127,128,131,132,133,134,135,136,138,140,144,146,152,153,159,164,165,166,167,168,175,180,185,194,198,205,206,218,219,220,226,233,234,235,242,246,247,251,252,261,271,272,279,284,285,290,292,299,306,313,318,321,322,328,334,337,340,344,357,362],donald:93,donat:[70,90],done:[1,4,6,9,10,11,20,21,22,25,29,30,31,33,34,36,37,38,39,41,43,44,49,51,55,56,57,58,59,61,62,63,64,67,69,70,73,76,80,82,85,87,90,91,93,100,107,108,110,115,116,117,118,119,120,121,123,126,128,131,133,136,137,144,154,156,164,170,179,185,205,221,235,242,246,247,259,260,261,267,280,284,286,288,292,296,302,305,306,308,313,316,321,322,329,334,344,362],donoth:259,dont:[79,289],doom:252,door:[0,20,22,27,43,49,61,80,85,89,103,159,212],doorwai:212,dot:[22,43,119,153,159,322,344],dotal:[321,343],dotpath:344,doubl:[22,38,43,57,97,119,133,152,171,343,344],doublet:[152,153],doubt:[22,138,234],down:[0,4,6,11,12,21,22,29,31,33,36,38,39,41,43,49,50,51,55,57,58,61,63,73,81,85,86,90,91,93,96,100,102,103,104,106,108,111,114,119,122,123,136,137,144,159,164,169,195,209,215,218,219,232,235,241,247,252,259,261,267,269,276,277,284,285,305,306,308,321,329,330,344],download:[5,9,23,26,63,64,72,75,79,90,100,101,128,130,131,139],downtim:[29,103,331],downward:[43,156],dozen:[25,55,108],drag:137,draggabl:138,dragon:56,dramat:[11,61],drape:182,draw:[14,38,39,49,73,119,330],draw_room_on_map:49,drawback:[14,23,28,29,51,58,73,86,138,181,322],drawn:[49,58,111],drawtext:73,dream:[26,55,61,129],dress:182,drink:[316,318],drive:[9,19,21,61,63,64,96,100,121,131,133],driven:[25,79,123,214,249],driver:23,drizzl:[102,132],drop:[6,9,14,20,21,23,25,33,37,40,55,57,58,60,69,70,73,80,85,86,87,88,89,90,117,118,121,128,137,138,159,165,182,203,214,218,221,226,241,247,276,318,322,344],drop_whitespac:330,dropdown:[106,138],droplet:67,droplock:241,dropper:[218,221,247],drum:90,dry:67,dtobj:344,duck:[27,95],duckclient:24,due:[5,6,12,22,29,31,33,40,43,58,60,62,63,64,76,90,91,93,95,96,104,107,125,126,140,153,169,246,247,269,305,308,315,321,337],duh:108,dull:[20,26,111],dumb:[20,138,308,321],dummi:[9,33,54,59,80,93,127,206,242,267,285,298,299,306],dummycli:298,dummyfactori:298,dummyrunn:[141,142,262,267,285,297,299,301],dummyrunner_act:298,dummyrunner_actions_modul:298,dummyrunner_set:[93,141,142,262,267,297],dummyrunner_settings_modul:93,dummysess:308,dump:[34,209,276],dungeon:[55,77,112],dupic:31,duplic:[31,37,96,152,159,261,318,337],durat:[10,28,132,139,219,338,345,364],dure:[9,11,29,31,38,40,55,60,61,63,66,68,79,80,95,97,100,102,105,107,116,123,132,135,136,137,140,144,152,164,170,187,203,231,233,234,242,244,260,276,286,322,324,328,337,357],duti:64,dwarf:111,dwummte9mtk1jjeypxrydwubb:79,dying:[217,218,219,220,221],dynam:[2,3,34,43,68,82,86,90,111,114,115,124,133,137,138,139,144,148,154,166,169,170,177,188,206,215,217,218,219,220,221,239,246,247,256,261,316,318,319,324,326,328,335,338,344,362,364],dyndns_system:90,e_char_typeclass:120,ea45afb6:101,each:[0,1,2,4,5,10,11,13,19,20,22,27,29,31,33,34,36,38,39,40,42,43,48,49,51,55,56,57,58,59,61,62,64,69,73,77,80,82,83,85,86,95,96,97,100,102,104,105,108,109,111,112,114,115,116,119,121,123,124,125,126,127,132,133,136,137,138,140,144,151,152,153,157,159,164,166,168,170,175,179,181,182,183,187,188,203,205,206,215,217,219,220,221,226,228,235,239,242,246,247,250,252,258,261,269,272,285,287,290,294,299,306,307,308,316,318,319,321,322,324,326,327,328,329,330,334,344],eaoiui:205,earli:[36,138,217,218,219,220,221,269],earlier:[3,9,13,31,36,51,54,58,60,61,62,64,74,85,95,96,106,119,121,123,131,134,272],earn:124,earnest:124,earth:[82,103],eas:[31,33,39,86,90,100,126],easi:[0,5,10,13,17,22,23,26,29,33,38,39,43,46,51,55,56,61,62,67,68,69,72,73,76,79,81,82,85,88,89,90,100,102,106,108,111,113,116,118,123,125,126,127,128,131,133,134,138,140,153,157,182,188,215,328,334],easier:[1,4,10,11,12,22,25,37,38,39,47,51,55,56,57,58,61,62,69,73,86,90,91,95,96,102,109,126,136,205,215,217,218,219,220,221,232,309,316,319,344],easiest:[0,5,12,15,25,27,30,46,58,63,67,70,76,123,128,131,133,135,209,318],easili:[0,3,4,11,12,13,14,17,20,25,27,28,33,34,37,38,39,46,48,49,51,55,58,60,61,62,63,68,70,73,80,83,85,88,90,91,96,98,100,103,105,106,107,108,109,111,112,119,122,123,131,133,136,137,138,140,164,166,175,177,179,180,182,188,190,194,205,212,215,217,218,219,220,221,234,238,239,241,261,322,328,339],east:[25,44,49,111,159,233],east_exit:233,east_west:111,eastern:[62,111],eastward:233,eccel:330,echo1:29,echo2:29,echo3:29,echo:[5,10,12,20,26,27,28,29,33,36,38,43,44,49,50,55,59,65,71,90,95,96,98,100,104,109,110,116,118,123,132,140,144,146,157,159,164,169,170,182,185,206,231,232,233,247,265,272,287,290,326,328,344],echotest:5,econom:[55,79,86],economi:[61,73,102,108,120,179],ecosystem:100,ect:96,ed30a86b8c4ca887773594c2:122,edg:[16,27,131,170,330,344],edgi:49,edit:[0,1,4,5,6,9,11,13,14,23,25,26,30,33,35,37,40,41,43,46,48,54,56,58,59,60,61,62,67,68,69,70,75,76,79,80,81,86,95,96,97,100,101,104,106,109,111,114,128,133,134,135,136,137,138,157,159,166,169,180,186,188,192,193,195,196,202,203,237,242,244,247,249,251,252,316,326,357,362,364],edit_callback:[193,195],edit_handl:159,editcmd:22,editor:[0,5,9,15,21,22,33,38,43,45,46,53,57,60,63,67,76,79,95,96,97,108,109,111,131,139,159,166,168,169,180,202,256,322,326],editor_command_group:326,editorcmdset:326,editsheet:58,edu:124,effect:[6,10,11,14,27,28,29,31,35,39,43,56,57,58,61,73,87,95,104,107,110,111,114,115,116,117,124,126,127,128,129,138,140,141,142,144,152,153,159,168,175,185,195,218,219,220,231,233,240,247,253,256,280,344],effici:[11,26,28,29,39,55,56,64,76,79,86,87,93,95,103,112,115,119,125,132,179,206,213,242,247,261,316,317,319,326,329],effort:[37,56,131,134,362],egg:75,egg_info:63,egi:269,either:[0,4,9,12,13,17,23,27,29,31,33,34,37,38,39,41,43,44,46,49,51,56,57,58,69,73,80,83,90,91,93,95,97,102,103,105,109,110,111,112,114,116,119,121,122,123,125,126,128,131,137,138,144,146,152,153,154,164,169,176,180,192,198,199,205,206,212,215,217,220,221,226,242,247,250,252,256,258,259,261,265,276,288,292,299,317,318,319,328,330,337,339,341,344],elabor:[4,22,85,91,123],electr:[90,124],eleg:37,element:[16,17,22,41,43,51,55,91,114,151,156,170,180,184,204,205,247,252,316,317,319,322,327,328,329,344],elev:[46,82,124,139,364],elif:[0,41,49,51,58,73,102,116,117,123],elimin:[96,100,321],ellipsi:96,ellow:[114,321],els:[0,1,2,5,9,10,12,19,20,21,22,23,25,27,29,30,33,38,39,41,42,46,48,49,51,58,60,68,69,73,80,81,82,84,85,90,91,95,102,103,111,114,115,116,117,120,121,123,127,131,133,134,137,164,170,179,182,188,204,217,218,219,220,221,235,246,296,318,328,344],elsennsometh:170,elsewher:[2,29,31,58,70,96,112,133,138,153,233,267,308,316],elvish:205,emac:[14,79],email:[63,64,67,131,144,145,186,324,338,344,345,357],email_login:[141,142,178],emailaddress:344,emailfield:[145,357],emb:[38,58,109,114,187,252],embark:121,embed:[109,114,125,138,166,175,250,327,344],emerg:[76,80,103],emi:205,emit:[25,34,108,137,144,153,157,175,189,247,306,337],emit_to_obj:[153,247],emitt:83,emo:21,emoji:24,emot:[33,41,43,55,68,116,144,165,179,205,206,316],emoteerror:206,emoteexcept:206,emphas:[38,61],emphasi:38,emploi:345,empti:[0,2,3,6,9,10,14,25,31,33,38,41,42,43,47,49,51,54,58,60,63,64,69,73,77,84,86,88,89,91,96,97,100,114,115,117,119,123,125,127,128,131,134,137,138,150,151,157,159,164,170,180,190,192,206,251,252,265,272,276,298,299,315,316,322,324,328,330,341,344],empty_color:190,empty_permit:[145,237,244,357],empty_threadpool:312,emptyset:31,emul:[43,64,75,105,123,129,169],enabl:[8,24,43,71,100,103,106,114,126,134,137,144,188,290,345],enable_recog:206,enableloc:290,enableremot:290,encamp:46,encapsul:338,encarnia:79,encas:326,enclos:[35,43,50,171,186],encod:[7,27,58,111,139,278,291,295,296,321,340,344,364],encode_gmcp:291,encode_msdp:291,encoded_text:344,encompass:27,encount:[60,95,153,345],encourag:[3,22,24,39,70,91,94],encrypt:[7,8,43,83,103,164,287,288,292],end:[1,5,6,8,9,10,11,13,14,19,20,21,22,23,25,27,28,29,31,33,34,38,39,40,43,47,50,51,54,55,58,60,62,64,65,67,69,73,76,80,81,83,86,87,88,90,91,93,95,96,100,105,107,108,109,114,116,118,119,121,122,123,126,128,131,133,134,135,137,138,140,144,146,152,153,159,165,166,179,181,182,185,190,202,206,214,215,217,218,219,220,221,233,238,271,278,279,287,290,291,301,306,310,312,317,321,322,324,328,329,330,337,344,362],end_convers:51,end_turn:116,endblock:[3,69,133,134],endclr:114,endfor:[69,133,134],endhour:25,endif:[69,133,134],endlessli:103,endpoint:103,endsep:344,endswith:321,ened:94,enemi:[11,29,51,61,109,116,122,219,220,221,231,232,233],enemynam:51,enforc:[10,33,41,61,73,80,114,126,138,287,290,329,330,362],enforce_s:330,engag:[55,221,231],engin:[22,23,33,36,43,55,56,64,68,73,77,79,89,102,103,104,122,127,131,136,140,150,153,168,169,210,233,238,267,278,284,287,290,295,305,307,322,324],english:[15,76,79,97,113,139],enhanc:[59,81,114,209,321,362],enigmat:20,enjoi:[61,63,91,106],enough:[4,6,21,29,38,39,41,42,43,51,55,57,58,61,63,64,69,70,80,84,85,87,90,91,96,108,112,115,119,123,126,136,153,159,170,204,205,226,235,328,329,330],ensdep:344,ensur:[49,69,94,100,106,117,126,127,215,310,342,362],ensure_ascii:296,enter:[0,1,3,5,9,12,13,14,15,20,21,22,23,25,26,27,29,31,33,35,36,41,42,43,44,46,51,58,62,63,64,66,69,75,77,80,83,85,87,89,91,95,96,100,109,111,114,116,117,119,122,123,124,128,129,131,133,135,138,139,141,144,151,153,158,166,167,169,179,180,182,187,188,198,215,217,218,219,220,221,231,233,235,241,247,252,256,265,306,328,357],enter_guild:51,enter_nam:51,enter_wild:235,enterlock:241,enterpris:36,entir:[10,11,13,14,19,22,27,29,33,46,49,50,51,60,61,69,80,86,90,91,108,111,114,115,123,125,127,136,180,205,206,215,234,241,242,247,251,252,318,322,328,330,334,344,362],entireti:[51,73,188,328],entit:324,entiti:[6,11,27,34,43,47,51,53,55,59,61,64,80,84,87,89,102,105,107,109,112,116,119,125,126,139,143,144,154,159,164,169,175,176,177,206,212,241,247,249,250,251,252,253,256,257,259,261,308,316,317,319,324,328,329,333,341,344],entitii:107,entitl:90,entranc:111,entri:[4,5,11,15,24,25,27,31,33,34,43,47,48,51,53,54,58,59,63,69,70,72,77,80,83,91,95,107,119,121,131,138,139,144,154,166,167,170,190,204,215,217,218,219,220,221,236,237,238,239,242,247,261,286,299,310,316,322,324,326,328,330,337,338,341,344,345,362],entriest:[43,156],entrust:59,entrypoint:100,entrytext:[69,239,324],enul:8,enumar:344,enumer:134,env:[267,277],environ:[4,7,9,13,25,36,38,43,45,59,61,63,64,65,82,90,95,100,103,128,169,170,228,230,267,277,293,302,322,328,342,360],environment:267,eof:287,epic:79,epilog:234,epoch:[27,62,331],epollreactor:312,epub:79,equal:[0,16,19,20,25,31,33,39,46,91,93,96,97,114,121,152,164,187,206,217,218,219,220,221,247,344],equip:[14,57,114,182,217,218,220,221],equival:[10,11,13,40,43,47,63,87,88,101,103,104,110,114,128,143,159,238,285,291,316,344,362],eras:[9,95,221],err:[58,80,298,322],err_travers:[89,247],errback:[10,264,267,276,277,344],errmessag:152,errmsg:[123,337],erron:[113,123,276,330],error:[1,5,6,8,9,10,11,14,15,20,22,23,24,26,27,31,33,37,38,42,43,51,56,57,58,59,60,63,64,67,71,74,75,76,80,83,86,87,89,90,91,97,103,104,105,109,111,113,114,118,119,120,122,123,125,127,128,131,133,135,139,144,150,152,153,159,164,175,195,204,206,215,232,234,242,247,250,251,259,260,264,266,267,269,271,276,290,298,318,321,322,324,327,328,337,340,344,345,364],error_check_python_modul:267,error_class:[145,237,244,357],error_cmd:44,error_msg:310,errorlist:[145,237,244,357],errorlog:8,escal:[2,19,43,80,156,241],escap:[43,69,114,165,169,234,321,343,357],escript:[22,180],esom:166,especi:[1,8,15,22,23,29,60,61,63,67,80,105,111,112,124,190,205,322],ess:52,essai:79,essenti:[28,49,56,67,75,79,106,113,176,267,324],est:[52,170],establish:[33,61,73,105,144,217,247,264,276,278,285,287,290,295,298,305,307],estim:[30,252,334],esult:247,etc:[2,5,6,8,11,12,20,22,23,25,27,29,30,33,35,38,40,41,43,47,48,49,51,53,55,56,57,58,61,62,63,64,67,73,79,80,83,84,86,87,88,89,95,96,100,102,103,105,107,108,109,110,112,116,119,120,125,126,127,131,132,137,138,144,148,150,151,152,153,156,158,159,164,167,169,179,183,184,188,190,203,205,206,212,218,220,226,234,247,251,252,285,287,290,294,295,296,306,307,315,316,318,321,322,324,325,326,327,328,337,344,362],etern:51,euro:90,ev_channel:146,eval:[109,179,344],eval_rst:38,evalstr:242,evalu:[33,38,51,119,151,179,242,328],evbot:[43,164,308],evcast:79,evcel:[327,330],evcolor:79,evcolum:330,evcolumn:330,eve:344,eveditor:[22,45,53,139,141,142,180,320,364],eveditorcmdset:326,even:[1,4,6,9,11,12,14,19,21,22,25,26,27,29,31,37,39,41,42,43,46,49,50,51,54,55,56,57,58,60,61,62,63,64,69,70,73,77,80,85,86,90,91,93,97,102,103,105,106,108,110,114,115,116,118,119,122,123,125,126,129,131,135,138,152,154,157,164,182,184,187,188,205,217,218,219,220,221,233,234,247,252,290,328,330,334,344],evenli:[27,184,344],evenn:100,evenna:9,evenni:[4,127],evennia:[0,1,2,3,6,10,11,12,13,14,15,17,19,20,21,22,24,27,28,29,30,31,33,34,35,36,37,39,40,43,44,46,48,49,50,51,52,53,59,60,61,62,63,64,65,66,68,69,70,72,73,74,78,80,81,82,83,84,85,86,87,88,89,92,93,94,97,98,99,101,102,103,104,105,107,108,111,112,113,114,115,116,117,118,119,120,121,122,123,125,129,130,132,133,134,135,136,138,139,364],evennia_access:8,evennia_admin:362,evennia_channel:[43,65,72,98,164],evennia_dir:344,evennia_error:8,evennia_launch:[106,141,142,262,265],evennia_logo:136,evennia_vers:267,evennia_websocket_webcli:295,evennia_wsgi_apach:8,evenniacreateview:362,evenniadeleteview:362,evenniadetailview:362,evenniaform:357,evenniagameindexcli:269,evenniagameindexservic:270,evenniaindexview:362,evennialogfil:337,evenniapasswordvalid:311,evenniareverseproxyresourc:312,evenniaserv:92,evenniatest:[170,196,211,228,293,342,360],evenniaupdateview:362,evenniausernameavailabilityvalid:[144,311],evenniawebtest:360,event:[51,64,73,103,107,137,139,141,146,179,184,194,195,196,198,206,209,226,256,259,309,364],event_nam:[194,198],eventdict:337,eventfunc:[0,141,142,178,191,195],eventhandl:195,eventi:[154,180,234],eventu:[4,11,12,19,25,29,33,41,58,61,70,76,80,83,88,90,110,116,119,123,133,136,144,150,151,168,185,205,206,226,233,242,247,252,264,272,298,306,307,319,323,324,328,330,355],evenv:[4,36,63,64,75,97,106],evenwidth:330,ever:[11,12,13,14,15,22,23,25,33,41,57,64,73,86,91,102,105,110,111,112,113,118,125,128,131,138,205,241,261,278,279,285,316,328],everi:[0,4,6,11,13,20,21,25,26,27,28,31,33,36,37,39,41,43,46,48,49,51,57,62,63,64,69,73,74,75,77,85,86,90,91,96,100,102,104,108,109,111,112,113,114,115,116,119,120,121,122,123,125,127,128,130,131,132,133,134,135,136,138,144,159,164,170,182,188,195,205,206,215,217,218,219,220,221,223,230,235,247,252,259,261,272,289,299,305,314,315,316,318,328,329,330,344],everror:195,everybodi:41,everyon:[19,21,24,33,34,43,51,58,61,64,71,73,77,78,80,87,98,102,110,112,114,116,121,123,127,128,131,132,159,164,165,166,185,217,218,219,220,221,285],everyth:[9,11,19,21,26,28,31,36,38,42,43,47,49,51,55,58,61,63,64,67,69,72,73,75,79,80,81,83,85,87,90,91,97,100,103,104,109,110,111,113,115,116,119,122,127,128,131,135,136,137,138,139,149,154,164,165,167,169,170,171,181,186,233,241,246,256,271,298,306,316,318,322,328],everywher:[9,56,94],evform:[27,45,53,141,142,320],evgam:[43,164],evgamedir:38,evict:310,evid:72,evil:[14,93,226,252],evilus:164,evmenu:[22,27,33,45,53,58,85,124,139,141,142,170,180,188,214,215,230,249,320,329,364],evmenucmdset:328,evmenuerror:328,evmenugotoabortmessag:328,evmenugotomessag:328,evmor:[45,139,141,142,251,320,364],evtabl:[27,33,45,49,53,82,111,141,142,154,164,188,251,320,327,329,344],exact:[33,41,43,51,80,93,95,96,119,129,138,144,151,159,164,168,176,206,221,238,247,251,252,317,318,340,341,344],exactli:[2,10,19,20,38,40,42,46,58,62,63,64,69,73,76,83,86,91,95,96,100,102,110,111,114,115,123,128,131,136,138,164,206,247,267,318,341],exam:[43,159],examin:[2,11,12,20,22,33,58,60,73,80,83,85,91,96,106,115,122,123,131,137,140,144,159,170,179,226,232,233,299],exampl:[0,2,4,5,6,8,10,11,13,14,15,17,19,20,21,22,25,27,28,29,30,31,33,36,37,38,40,41,43,44,48,49,55,56,57,58,59,60,61,62,63,64,67,68,71,74,77,81,82,84,85,86,87,88,89,91,93,95,96,97,98,100,103,104,105,106,109,110,111,112,114,115,117,118,119,121,122,123,124,125,126,129,130,131,132,133,135,136,138,139,140,141,142,144,148,151,152,153,154,157,158,159,164,165,166,167,168,170,175,177,179,180,182,184,185,187,188,189,190,199,203,204,205,206,209,212,213,214,215,217,218,219,220,221,223,226,231,233,234,235,239,242,246,247,252,256,259,261,272,287,290,291,296,299,308,312,315,316,318,319,320,321,323,327,328,329,330,331,335,337,338,341,342,344,345,357,362,363,364],example_batch_cod:[13,141,142,178,222],exapmpl:5,excalibur:85,exce:[82,217,218,219,220,221,310,334],exceed:310,excel:[56,67,79,80,102,108],excempt:152,except:[4,9,10,11,14,19,20,21,22,27,28,29,31,33,38,39,41,46,50,58,63,64,75,80,83,89,90,91,95,97,102,109,111,114,116,118,119,120,121,123,126,133,134,144,146,148,150,153,154,167,168,175,176,177,179,182,184,187,189,194,195,198,202,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,234,235,239,241,242,246,247,251,256,259,260,267,272,274,276,288,290,292,296,300,312,316,319,321,324,327,328,330,331,335,337,339,344],excepteur:52,excerpt:50,excess:[22,80,109,167,246,322],exchang:[13,90,102,179,325],excit:[20,35,54],exclam:21,exclud:[64,119,120,123,175,182,203,233,246,247,326,328],exclude_cov:182,excluded_typeclass_path:169,exclus:[51,61,80,83,226,247,256,317,328],exclusiv:324,exe:[63,106,128],exec:[51,85,109,252,328,344],exec_kwarg:328,exec_str:302,execcgi:8,execut:[0,9,10,12,13,14,19,22,25,28,29,31,33,36,43,45,46,47,50,51,55,62,63,64,69,75,83,85,87,89,91,95,102,106,109,111,114,119,127,128,137,139,144,146,148,149,150,154,157,158,166,167,169,170,177,180,195,206,215,226,233,234,239,241,242,246,247,252,253,256,260,264,272,274,277,278,284,287,290,295,299,302,305,306,316,318,319,322,328,329,335,344,364],execute_cmd:[2,33,89,117,118,123,144,146,154,247,272,306],execute_command:33,executor:36,exemplifi:[28,40,122],exercis:[21,41,42,58,85,95,96,111,116,123,132,293,303,335],exhaust:22,exhaustedgener:204,exidbobj:247,exis:44,exist:[0,2,3,5,11,12,13,20,21,22,25,27,31,33,35,36,39,40,41,43,44,46,48,49,51,56,57,58,60,61,64,65,68,69,70,72,76,80,86,96,97,100,102,105,109,111,112,115,116,117,123,124,128,131,134,136,138,139,143,144,145,146,152,153,154,159,164,166,167,169,180,181,187,192,194,195,198,199,202,203,205,206,213,220,232,235,241,242,246,247,249,252,260,267,271,273,287,288,292,300,305,306,308,316,317,318,319,322,324,326,327,328,330,337,339,344],existen:306,exit:[20,21,22,23,31,39,41,43,45,49,50,51,53,55,58,63,80,85,86,91,100,106,109,111,119,121,122,123,124,125,128,139,141,150,152,153,159,169,179,180,196,212,213,215,221,226,231,232,233,234,235,241,246,247,252,287,299,316,324,326,328,329,342,360,364],exit_alias:[159,212],exit_back:58,exit_cmd:[51,329],exit_command:247,exit_nam:[49,159,212],exit_on_lastpag:329,exit_ther:58,exit_to_her:[43,159],exit_to_ther:[43,159],exit_typeclass:[235,342,360],exitbuildingmenu:22,exitcmdset:[31,247],exitcommand:247,exitnam:212,exitobject:44,exixt:285,exot:33,exp:327,expand:[0,1,4,5,6,20,21,23,49,55,57,58,61,64,70,74,81,85,89,90,104,111,114,117,120,123,124,131,132,135,139,140,159,186,212,217,218,219,220,221,247,321,330],expand_tab:330,expandtab:[321,330],expans:[44,61],expect:[0,1,6,9,10,33,34,37,38,47,56,58,61,67,75,80,83,87,88,89,90,91,94,95,96,97,107,113,114,115,122,123,124,126,127,128,134,138,159,167,170,180,192,194,204,235,241,247,251,252,265,315,318,328,329,334,344,349,362],expected1:170,expected2:170,expected_input:170,expected_return:127,expedit:96,expens:[90,115,119,341],experi:[26,42,51,57,60,61,62,63,73,77,81,90,95,100,111,122,131,135,139,164],experienc:[51,61,64,79,95],experienced_betray:51,experienced_viol:51,experiment:[43,74,169,173,244],explain:[20,22,33,39,48,51,55,58,64,71,79,86,119,121,124,126,127,129,131,134,136,139],explan:[25,31,33,39,64,69,77,114,124,139,311],explicit:[0,1,22,31,38,40,48,69,71,88,91,104,129,136,204,267,289,316,328],explicitli:[4,9,21,30,31,38,43,58,59,63,68,80,83,84,85,86,87,96,97,109,112,114,115,124,125,153,154,159,166,170,204,247,252,261,318,321,324,340],explor:[0,2,10,20,42,43,59,63,69,83,95,104,111,116,122,125,169],expos:[103,134,226],express:[3,33,38,43,51,56,80,109,119,127,134,135,140,159,184,204,221,316,344],ext:51,extend:[1,3,5,27,34,39,43,55,56,69,73,79,85,86,108,109,111,117,118,125,133,134,148,154,166,170,175,181,183,187,195,198,235,244,246,247,318,338,357,362],extended_room:[141,142,178],extendedloopingcal:261,extendedroom:187,extendedroomcmdset:187,extens:[1,3,9,23,38,51,55,56,61,63,64,88,96,97,104,111,114,127,138,148,210,217,282,290,324,333,343],extent:[22,56,73],exter:164,extern:[8,15,23,34,38,40,41,43,54,55,57,63,65,72,90,98,106,108,109,111,124,139,141,153,164,170,172,177,209,251,265,267,269,324],external_discord_hello:272,external_receiv:177,extra:[1,6,8,14,16,21,23,25,29,31,33,37,41,51,57,58,80,89,90,93,95,96,107,114,119,123,125,126,127,134,136,137,138,144,145,148,154,166,170,175,179,187,189,202,206,226,233,247,250,251,261,264,315,317,321,322,326,328,329,330,337,338,339,343,344],extra_environ:322,extra_spac:344,extract:[11,41,56,91,96,97,107,138,154,206,210,242,281,295,344],extract_goto_exec:328,extrainfoauthserv:287,extral:177,extran:188,extrem:[26,56,91,110,128,217,218,220,221,280,338],eye:[60,97,111,114,252,329],eyed:136,eyes:[33,37,57],eyesight:[58,80,114],eyj0exaioijkv1qilcjhbgcioijiuzi1n:122,eyjzdwiioij1cm46yxbwoiisimlzcyi6invybjphcha6iiwib2jqijpbw3siagvpz2h0ijoipd04ndkilcjwyxroijoixc9m:122,f6d4ca9b2b22:100,face:[90,103,122,189,311,328],facil:337,fact:[10,11,14,21,29,33,55,57,58,61,76,83,89,103,106,114,117,123,125,126,134,138,140,308,310],facter:138,factor:[0,62,82,114,218,220,264,278,279],factori:[40,96,264,269,277,278,279,285,286,287,288,290,298],factory_path:146,fade:[108,205],fail:[4,9,10,11,12,13,14,24,27,31,41,51,60,61,63,89,91,103,107,109,110,113,116,117,121,127,153,164,168,175,185,206,212,226,232,241,242,247,251,264,265,267,271,278,279,289,310,315,316,318,338,340,344,362],failmsg:310,failtext:73,failur:[10,14,63,73,119,127,144,233,269,276,278,279,298,310,321,344],failure_teleport_msg:233,failure_teleport_to:233,faint:102,fair:[73,185],fairli:[39,69,75,182,188,215,218],fake:[183,298,308,316,321],fall:[26,31,38,60,62,64,73,97,102,111,113,141,144,168,189,206,226,233,344,357,362],fall_exit:233,fallback:[44,49,55,150,154,177,187,242,259,267,296,316,328,339,344],fals:[1,2,4,6,11,20,21,22,25,27,29,31,33,38,41,44,49,50,51,58,62,68,74,77,80,81,84,86,89,96,102,103,115,116,118,120,121,123,125,127,133,137,144,145,148,150,151,152,153,154,159,164,166,170,175,177,179,180,182,183,184,185,188,192,195,199,205,206,212,215,217,218,219,220,221,230,234,235,237,238,239,241,242,244,246,247,249,251,252,256,257,259,260,261,264,267,269,273,276,277,284,285,286,287,290,296,304,305,306,308,310,312,315,316,317,318,319,321,322,324,326,328,329,330,331,334,339,340,341,343,344,345,357],falsestr:188,falsi:175,falter:61,fame:122,famili:[9,51,57],familiar:[3,9,20,29,31,33,39,58,60,63,85,90,91,95,96,111,119,124,125,133],famou:[52,326],fan:79,fanci:[15,17,36,73,138,182],fanclub:119,fantasi:205,faq:[45,124,139,289,364],far:[0,13,20,21,22,31,33,39,41,44,46,49,51,54,55,57,59,61,75,88,90,91,95,96,100,106,111,114,119,131,138,152,221,235,241,269,294,316,326,334],fashion:111,fast:[11,15,23,26,27,29,56,62,64,82,89,108,115,131,157],faster:[23,62,93,119,177,179,316],fastest:[5,38],fatal:267,faulti:95,favor:27,favorit:[21,37],fear:27,featgmcp:291,featur:[0,4,12,15,17,20,22,25,26,27,31,33,34,36,37,42,45,46,47,48,49,50,56,57,59,61,62,63,64,70,72,78,81,85,91,96,103,107,109,111,114,119,122,123,124,125,128,129,131,138,139,144,153,154,187,195,206,215,234,261,284,305,309,318,326,344,362,364],februari:62,fed:[10,33,80,285,316,325,327],fedora:[8,63,67,131],feed:[7,15,43,49,51,55,73,98,109,128,139,146,164,269,286,287,318,329],feedback:[37,42,61,70,89,118,176,326],feedpars:[98,286],feedread:146,feel:[0,10,17,22,37,38,39,46,55,57,60,61,63,64,69,70,71,73,77,90,91,108,118,122,123,125,131,133,138,205,215,218,226,233],feend78:199,feint:116,felin:27,fellow:327,felt:[102,132],femal:189,fetch:[11,63,90,100,128,131,133,316,329,362],few:[0,4,6,9,10,11,15,17,20,23,31,33,34,36,38,41,42,43,49,50,55,59,60,61,64,66,73,74,79,80,86,88,89,91,103,110,114,116,119,121,122,123,126,127,131,138,169,184,205,226,246,282,291,310,321,330,344,362],fewer:[108,308,317],fg_colormap:343,fgstart:343,fgstop:343,fhii4:133,fiction:[51,55,62,77,328],fictional_word:205,fictiv:205,fiddl:233,fido:96,fie:102,field:[3,11,23,34,54,56,58,74,84,86,87,89,102,106,107,112,119,125,128,133,135,145,148,173,177,188,192,206,221,231,237,239,241,244,246,247,251,252,254,256,257,261,274,315,316,317,318,319,327,335,340,341,357,359,362],field_class:357,field_or_argnam:74,field_ord:357,fieldevmenu:188,fieldfil:[141,142,178],fieldnam:[58,84,188,257,318,334,357],fieldset:[145,173,237,244,254],fieldtyp:188,fifi:96,fifo:344,fifth:49,fight:[29,31,61,116,122,217,218,219,220,221,232],fighter:[217,218,219,220,221],figur:[3,12,26,33,37,38,42,49,80,83,90,91,93,96,97,119,121,131,133,138,179,181,184,206,251,267],file:[2,3,4,5,6,8,9,19,20,21,22,23,25,26,27,31,34,36,37,40,41,42,44,47,48,54,56,57,58,59,60,62,63,64,65,66,67,68,69,72,75,76,79,80,81,82,83,85,86,90,92,93,95,96,97,98,100,102,103,106,109,110,111,114,117,119,120,121,123,128,130,133,134,135,136,137,138,139,141,142,144,145,158,166,175,180,182,183,184,186,205,209,234,235,237,241,244,252,266,267,287,288,291,292,299,300,301,305,312,313,315,320,327,328,337,340,341,344,357,362],file_end:[322,344],file_help_entry_modul:166,filelogobserv:337,filenam:[27,60,131,175,205,322,327,337],filename1:267,filename2:267,filesystem:[63,100,103],fill:[36,41,49,50,58,61,65,70,106,111,114,119,122,133,135,188,315,316,321,327,328,329,330,344],fill_char:330,fill_color:190,fillabl:188,fillchar:[114,321,344],filo:344,filter:[31,34,39,43,69,86,106,114,119,120,125,133,138,152,157,180,187,206,246,247,344,362],filter_famili:[119,125],filthi:78,final_valu:10,find:[0,3,4,6,10,11,12,13,14,17,20,21,22,23,24,25,26,27,29,31,33,34,37,38,40,41,42,46,47,48,49,50,55,56,57,58,60,61,62,63,67,68,69,70,73,74,75,76,78,79,80,84,86,87,89,90,91,93,95,96,97,100,102,103,108,109,110,112,114,119,122,123,124,125,127,128,131,133,134,135,136,139,140,144,151,159,184,187,206,212,215,233,234,247,251,252,258,267,281,316,317,321,323,341,344],find_apropo:238,find_topicmatch:238,find_topics_with_categori:238,find_topicsuggest:238,fine:[12,15,20,33,41,44,46,64,85,86,89,95,105,112,115,118,122,123,138,146,233,316,324,344],finer:12,finish:[10,14,29,33,38,58,59,61,100,107,122,123,124,128,133,136,141,144,154,156,167,179,187,203,232,233,247,267,271,279,290,305,312,323,328,344],finish_chargen:51,finit:91,fire:[2,20,21,27,28,29,33,46,51,58,61,96,102,106,107,111,115,118,120,132,139,144,146,150,195,219,220,247,252,267,276,278,295,328,329,334],firebreath:58,firefox:72,firestorm:28,firestorm_lastcast:28,firewal:[67,90],first:[2,3,4,5,6,7,9,10,11,12,13,14,15,16,19,20,21,23,24,26,27,29,31,33,35,38,39,40,41,42,43,45,48,49,50,51,55,56,58,59,61,62,63,65,68,69,70,71,73,75,76,77,80,81,83,85,86,89,90,91,93,96,97,98,100,102,103,104,105,106,107,108,109,110,113,114,116,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,139,144,146,148,151,152,159,167,170,171,175,177,179,180,182,183,184,186,187,204,205,206,212,214,217,218,219,220,221,223,226,231,232,233,234,235,239,241,246,247,251,252,256,259,267,271,272,274,285,287,290,295,296,298,299,305,308,316,318,319,321,322,324,326,327,328,330,331,334,335,343,344,363,364],first_lin:123,first_nam:145,firsthand:80,firstli:[9,89,90,96,97],fish:[73,153,203],fist:252,fit:[11,23,39,47,51,58,80,88,121,129,130,133,218,221,327,329,330,344],five:[28,33,90,111,119,153,215,344,345],fix:[13,14,16,26,27,33,37,42,43,51,57,60,61,63,64,70,75,78,83,85,90,95,96,97,109,110,121,123,125,127,138,205,267,327,329,330,340,363],fix_sentence_end:330,fixer:119,fixing_strange_bug:131,fixtur:[170,228,293,303,335,342],flag:[9,13,14,20,28,29,30,31,33,40,41,43,51,58,61,74,76,83,86,108,115,123,131,144,150,152,154,159,226,231,241,242,247,267,274,278,287,290,295,306,326,328,344],flame:[28,220],flash:[14,226],flat:[22,26,27,45,47,48,53,56,59,60,96,125,141,252],flatfil:56,flaticon:79,flatten:252,flatten_diff:252,flatten_prototyp:252,flattened_diff:252,flatul:102,flavor:[20,90,220],flavour:[87,126],flaw:121,fled:[116,231],fledg:[15,90,108,123,133,158,185],flee:[116,117,221,231],fleevalu:116,flesh:[20,58],flexibl:[1,13,21,22,29,39,43,51,57,59,73,88,90,102,108,109,111,116,134,138,148,159,179,180,188,215,241,316,328,344,362],flick:345,flicker:226,flip:[51,81],flood:[27,50],floor:[0,82,206],flourish:316,flow:[17,36,40,55,61,70,83,86,115,131,137,324,328],flower:[12,20,43,61,87,89,119,159],flowerpot:[12,57],fluent:79,fluid:[16,17],flurri:206,flush:[23,33,43,111,128,169,316,318,334],flush_cach:334,flush_cached_inst:334,flush_from_cach:334,flush_instance_cach:334,flusher:334,flushmem:[43,169],fly:[3,12,21,27,31,33,34,43,51,55,64,85,102,109,119,138,144,165,167,177,239,247,261,274,285,288,292,316,322,331,344,362],fnmatch:316,focu:[4,61,70,116,124],focus:[56,57,61,77,79,106,123,124,221],foe:218,fold:215,folder:[3,5,8,13,14,21,27,30,38,47,49,55,57,58,60,63,64,69,73,75,76,86,95,96,100,103,106,110,111,116,117,118,123,127,128,130,133,134,135,136,137,217,218,219,220,221,267],folder_nam:64,foldernam:60,follow:[0,2,4,5,7,8,9,10,11,13,14,16,17,19,20,22,23,25,31,33,34,37,38,39,40,41,42,43,46,47,48,49,50,51,54,58,60,61,62,63,65,67,68,69,71,73,74,75,76,79,80,82,85,86,88,89,90,91,93,95,96,97,100,102,103,106,110,112,114,116,117,119,120,121,123,125,127,128,131,133,134,135,137,144,146,148,150,151,154,159,166,167,170,175,177,180,182,183,185,189,195,199,206,215,219,220,233,239,241,242,246,247,250,251,252,256,257,271,272,282,291,295,296,299,309,316,318,321,322,324,327,328,329,330,337,344],follwo:242,follwow:51,fond:62,font:[25,38,111,137],foo:[33,40,51,83,84,88,95,107,112,119,127,215,328,342],foo_bar:88,foobarfoo:12,fooerror:328,foolish:226,footer:[69,133,154,329],footnot:[15,38],footprint:[43,169],footwear:57,for_cont:247,forai:96,forbid:41,forbidden:131,forc:[0,6,8,10,31,33,58,60,63,73,81,82,91,100,103,110,116,121,123,125,127,138,146,153,157,159,164,179,187,189,203,205,206,242,247,251,258,278,279,285,290,308,310,329,330,334,337,344],force_init:247,force_repeat:[102,116],force_str:340,forcibl:[102,258],fore:305,forebod:187,foreground:[42,100,114,126,183,267,321],foreign:125,foreignkei:[148,246,256,315,318,335],forens:210,forest:[13,111,112,140,187],forest_meadow:112,forest_room:112,forestobj:140,forev:[61,102],forget:[3,9,10,13,25,27,33,41,54,62,72,79,82,85,86,95,96,100,123,131,206,322],forgo:232,forgotten:[28,49,77,85],fork:[9,79],forloop:69,form:[11,13,27,31,33,34,38,43,45,51,53,55,58,59,61,64,68,70,74,76,77,80,83,88,89,93,96,97,109,112,113,114,115,116,118,123,124,125,127,129,135,141,142,144,145,146,151,153,154,157,159,164,167,170,173,175,176,177,179,188,189,205,206,210,237,239,241,242,244,247,251,252,254,257,259,261,265,285,287,291,295,306,308,315,316,317,318,321,322,324,325,326,327,328,330,337,340,341,344,345,346,356,362],form_char:327,form_class:362,form_template_to_dict:188,form_url:145,form_valid:362,formal:[61,80,96,138,247,291],format:[0,14,17,19,22,23,27,31,33,37,38,41,42,46,48,55,58,62,68,69,76,79,81,83,88,96,98,103,108,109,111,113,114,119,124,129,131,133,138,152,154,156,159,166,170,175,180,182,183,184,188,198,206,209,215,219,230,234,235,239,247,249,251,252,257,267,272,282,287,307,309,316,318,321,322,324,326,328,329,330,331,337,339,344,345,363],format_attribut:159,format_available_protfunc:251,format_callback:192,format_diff:252,format_extern:175,format_grid:344,format_help:234,format_help_entri:166,format_help_index:166,format_messag:175,format_output:159,format_send:175,format_t:344,format_text:180,format_usag:234,formatt:[188,251,328,329],formcallback:188,formchar:[58,327],formdata:188,former:[17,23,64,126,328],formfield:340,formhelptext:188,formset:315,formstr:58,formtempl:188,formul:134,forth:[27,43,131,159,220],fortress:111,fortun:[4,33,39,48,69,122,128],forum:[1,9,37,48,55,57,63,90,98,128],forward:[13,14,20,38,42,45,50,51,62,69,90,121,126,144,148,177,199,209,239,246,256,312,316,318,319,327,329,335],forwardfor:67,forwardmanytoonedescriptor:[246,256,335],forwardonetoonedescriptor:[246,256,335],foul:109,found:[2,4,6,9,10,13,14,15,20,22,23,25,27,31,33,38,39,40,41,42,43,49,51,55,57,58,59,63,68,73,74,76,78,80,83,85,89,90,91,94,97,103,104,109,112,116,119,122,123,125,127,128,134,135,137,138,141,144,149,150,151,152,154,159,164,167,168,175,179,180,192,194,195,206,233,239,242,247,250,251,252,258,261,266,267,273,282,285,296,306,308,316,317,318,321,322,323,324,328,330,334,339,341,344,346],foundat:[49,55,77,79,217],four:[4,14,27,38,39,40,68,73,82,86,87,111,114,119,153,177,187,242],fourth:39,fqdn:90,fractal:56,fraction:127,frame:[137,138],framework:[3,16,64,94,124,133,136,137,170,217,220,340],frankli:129,free:[0,22,29,37,48,55,57,60,61,64,76,77,79,90,106,112,116,123,124,126,130,133,139,179,206,215,218,251],freedn:90,freedom:[14,26,44,63],freeform:[73,116,182],freeli:[55,77,100,103,322],freenod:[9,43,57,63,70,72,79,90,146,164,308],freepik:79,freetext:[176,341],freez:[29,33,42,194],frequenc:205,frequent:[91,180],frequentlyaskedquest:94,fresh:[11,31,58,128,267],freshli:111,fri:12,friarzen:138,friend:[37,58,61,82,103],friendli:[22,38,78,95,133,138,148],friendlier:[175,247],frighten:219,from:[0,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,21,22,23,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,52,54,56,57,58,59,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,79,80,81,82,83,84,85,86,87,89,91,92,93,95,97,98,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,139,140,141,142,144,146,148,149,150,151,152,153,154,156,157,158,159,164,165,166,167,168,169,170,171,173,175,176,177,179,180,181,182,183,184,185,186,187,188,189,194,195,198,199,202,203,204,205,206,209,210,211,212,213,215,217,218,219,220,221,226,231,232,233,234,235,238,239,241,242,243,246,247,251,252,256,257,258,260,261,264,267,272,273,274,276,277,278,279,280,284,285,286,287,290,295,296,299,301,305,306,307,308,310,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,329,330,331,334,335,337,338,340,341,343,344,345,357,362,363,364],from_channel:146,from_db_valu:340,from_nod:[51,328],from_obj:[81,83,118,144,146,154,189,247],from_pickl:325,from_tz:345,frombox:276,fromstr:276,fromtimestamp:331,front:[8,13,20,73,80,85,96,103,109,131,137,139],frontend:[215,316],frozen:[29,33,122,195],fruit:203,ftabl:344,ftp:343,fuel:[21,220],fugiat:52,fulfil:267,full:[4,9,13,14,15,16,17,20,21,23,24,25,26,27,33,37,38,43,51,55,57,58,59,60,61,64,73,75,80,84,88,89,90,95,96,97,100,101,102,105,108,109,110,111,115,116,117,119,121,123,124,125,127,128,131,133,134,135,136,146,151,153,154,158,159,164,168,169,170,175,179,180,185,187,190,202,205,206,215,220,230,234,242,252,257,279,285,298,308,309,316,318,322,326,328,330,344],full_justifi:109,full_nam:87,full_result:185,fullchain:67,fuller:58,fullhost:67,fulli:[4,11,19,33,51,55,58,59,61,63,85,86,90,93,103,110,122,144,205,242,247,259,295,307,324,344],fullview:122,fun:[20,26,61,79,81,111,136],func1:[43,159,242,299],func2:[43,159,242,299],func:[5,10,21,22,25,28,29,30,33,38,42,44,50,51,56,58,60,62,71,73,80,81,82,83,85,91,116,119,121,123,150,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,184,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,241,242,247,278,299,303,312,326,328,329,331,344,362],funciton:220,funcnam:[74,114,242,250,251,261,328,344],funcool:79,funcpars:[250,308,344],funcparser_cal:250,funcparser_outgoing_messages_modul:308,functioncal:276,functionnam:276,functionpars:251,functool:63,fund:70,fundament:[33,57,77,89,95,96,112,247],furnitur:[13,112,125],further:[0,9,11,27,31,34,38,42,43,44,49,57,83,85,86,90,91,96,100,102,104,105,106,109,110,111,119,124,125,130,131,138,153,159,181,205,219,221,252,267,291,344],furthermor:[37,38,124,126],fuss:100,futur:[9,10,11,20,23,38,43,45,50,55,58,60,61,62,63,76,87,95,100,123,139,156,195,232,235,272,317,338,345,364],futurist:62,fuzzi:[76,164,238,341,344],fuzzy_import_from_modul:344,gadget:70,gag:24,gain:[11,29,61,73,93,154,177,206,242,247],galosch:205,gambl:185,game:[0,2,3,4,5,6,8,9,10,11,13,14,15,17,18,19,20,21,22,23,24,25,28,29,30,31,33,34,35,36,37,38,41,42,43,44,46,50,51,52,53,56,60,63,64,65,66,67,68,69,71,72,75,76,77,78,79,80,81,83,85,86,87,88,89,91,92,93,95,96,97,98,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,121,122,125,129,130,132,133,134,135,136,137,138,139,140,143,144,145,146,148,150,152,153,154,156,157,158,159,163,164,165,166,169,170,171,172,175,176,177,178,179,180,181,182,184,185,186,187,188,190,193,194,195,196,199,204,205,206,213,215,217,218,219,220,221,226,229,230,233,234,239,241,243,246,247,256,258,259,262,267,269,270,271,272,278,279,284,286,287,290,291,298,299,300,305,306,308,315,317,318,319,322,323,324,326,327,331,334,337,344,363,364],game_dir:[337,344],game_epoch:[27,331],game_index_cli:[141,142,262],game_index_en:54,game_index_list:54,game_nam:[54,350],game_slogan:[9,350],game_statu:54,game_templ:47,game_websit:54,gamedir:[51,100,109,267,313],gamedirnam:58,gameindexcli:270,gameplai:[90,145],gamer:[65,72],gamesrc:27,gametim:[27,53,59,139,141,142,184,187,195,320,364],gametime_to_realtim:184,gametimescript:184,gammon:[79,282],gandalf:51,garbag:316,garden:79,garment:182,gatewai:[110,296],gather:[24,33,48,83,94,119,127,132,136,150,151,233,265,269,324,341],gave:[5,21,60,64,91,102,126],gbg:321,gcc:63,gcreat:169,gear:[43,90,106,136,146,153,171,186],gemer:204,gen:17,gender:189,gendercharact:189,gendersub:[141,142,178],gener:[0,1,5,9,10,11,12,20,23,25,29,31,33,34,36,37,38,48,49,51,55,57,58,59,60,62,63,64,68,70,73,76,80,83,86,87,88,90,93,96,104,105,106,109,111,112,114,116,126,127,134,137,138,139,141,142,144,146,149,154,155,156,159,166,167,168,170,171,175,179,180,181,182,185,186,187,188,189,195,199,202,204,205,206,209,210,212,213,214,215,217,218,219,220,221,226,230,231,233,234,239,242,247,249,252,278,285,287,290,291,295,306,307,308,312,316,319,320,321,323,324,326,329,330,337,339,340,344,349,357,362,364],general_context:[141,142,346,348],generate_sessid:285,generic_mud_communication_protocol:291,genericbuildingcmd:180,genericbuildingmenu:180,genesi:90,geniu:203,genr:[37,64,281],geoff:234,geograph:140,geographi:39,geoip:209,geometr:111,geometri:111,get:[0,1,2,3,5,6,7,8,9,10,11,12,13,15,16,17,21,22,23,25,26,28,29,30,31,33,38,39,40,41,42,44,45,46,47,48,49,50,54,55,56,57,58,59,60,61,62,64,65,68,69,71,72,73,74,75,76,77,80,81,82,83,84,85,86,87,88,90,91,92,93,95,96,97,100,102,103,104,105,106,107,110,111,112,114,116,118,121,122,123,125,126,127,128,130,131,133,134,135,136,137,138,139,144,146,148,152,153,154,156,157,159,160,164,165,166,171,173,175,176,177,180,182,185,192,194,195,198,199,203,204,206,213,214,215,217,218,219,220,221,223,226,232,233,235,238,239,241,242,246,247,249,251,252,256,258,261,265,267,272,276,277,281,285,287,290,291,293,295,296,304,306,307,308,310,316,317,318,319,321,322,323,326,328,330,331,333,334,337,338,339,341,344,357,362,363,364],get_abl:60,get_absolute_url:[134,175,239,318],get_account:[242,306],get_al:316,get_alia:317,get_all_attribut:316,get_all_cached_inst:334,get_all_categori:238,get_all_channel:176,get_all_cmd_keys_and_alias:152,get_all_mail:199,get_all_puppet:144,get_all_sync_data:308,get_all_top:238,get_all_typeclass:344,get_and_merge_cmdset:153,get_attack:[217,218,219,220,221],get_attr:159,get_attribut:317,get_buff:326,get_by_alia:317,get_by_attribut:317,get_by_nick:317,get_by_permiss:317,get_by_tag:317,get_cach:316,get_cache_kei:310,get_cached_inst:334,get_callback:195,get_channel:[41,176],get_channel_alias:164,get_channel_histori:164,get_charact:306,get_client_opt:272,get_client_s:306,get_client_sess:[295,296],get_client_sessid:296,get_command_info:[154,167],get_context_data:362,get_damag:[217,218,219,220,221],get_db_prep_lookup:340,get_db_prep_valu:340,get_dbref_rang:317,get_def:260,get_default:340,get_defens:[217,218,219,220,221],get_display_nam:[22,42,46,58,144,206,235,247,318],get_err_msg:[6,20,80],get_ev:195,get_evennia_pid:344,get_evennia_vers:344,get_event_handl:198,get_extra_info:[41,154,247,318],get_famili:[119,125],get_fieldset:244,get_form:244,get_formset:315,get_game_dir_path:344,get_god_account:271,get_height:330,get_help:[33,68,69,154,170,193,234,328],get_help_text:311,get_id:[133,260,317],get_info_dict:[284,305],get_initi:362,get_input:[170,328],get_inputfunc:[272,291,308],get_internal_typ:340,get_kwarg:360,get_location_nam:235,get_log_filenam:175,get_mass:82,get_message_by_id:176,get_messages_by_receiv:176,get_messages_by_send:176,get_min_height:330,get_min_width:330,get_new:286,get_new_coordin:235,get_next_by_date_join:148,get_next_by_db_date_cr:[148,177,246,256,316,318],get_next_wait:198,get_nick:317,get_nicklist:[146,279],get_numbered_nam:247,get_obj_coordin:235,get_object:362,get_object_with_account:341,get_objs_at_coordin:235,get_oth:179,get_permiss:317,get_pid:267,get_player_count:281,get_previous_by_date_join:148,get_previous_by_db_date_cr:[148,177,246,256,316,318],get_puppet:[2,144,306],get_puppet_or_account:306,get_queryset:362,get_rang:221,get_redirect_url:362,get_regex_tupl:206,get_respons:351,get_room_at:39,get_rooms_around:39,get_sess:308,get_statu:277,get_subscript:176,get_success_url:362,get_sync_data:307,get_system_cmd:152,get_tag:317,get_time_and_season:187,get_typeclass_tot:317,get_uptim:281,get_username_valid:144,get_valu:[272,291],get_vari:[192,195],get_width:330,get_worn_cloth:182,getattr:84,getbootstrap:16,getchild:312,getclientaddress:[40,287],getel:137,getenv:[267,277],getfromlock:241,getgl:137,getinput:328,getkeypair:287,getloadavg:75,getpeer:287,getpid:344,getsizof:334,getsslcontext:[288,292],getston:33,getter:[148,177,182,206,218,221,246,247,274,316],gettext:76,gfg:321,ghostli:233,giant:[21,124],gid:[45,70,100,299],gidcount:298,gif:[70,133],gift:69,girl:247,gist:[205,344],git:[9,23,25,36,38,45,47,63,75,76,79,86,90,100,108,124,128,130],gith:96,github:[3,9,25,37,41,43,45,46,57,63,70,75,76,79,95,96,98,104,127,130,131,135,138,180,295,312,344],githubusercont:101,gitignor:131,give:[0,1,2,3,4,5,9,10,11,12,13,15,18,19,20,21,22,23,25,26,27,30,33,38,39,41,46,48,51,52,55,57,58,59,60,61,62,63,64,68,69,73,75,77,79,80,82,85,88,89,90,91,93,94,96,98,100,102,103,105,107,109,110,111,112,113,114,115,116,117,118,119,122,123,124,125,127,128,133,134,136,138,139,140,144,150,152,153,156,164,165,167,169,175,176,180,181,182,187,204,205,214,215,217,218,219,220,221,226,233,235,241,247,256,293,306,312,316,318,321,328,330,341,342,344,363,364],givelock:241,given:[0,2,4,10,11,12,13,14,20,21,22,25,27,31,33,34,38,39,42,43,46,49,50,51,58,62,64,70,73,74,80,83,84,85,86,88,89,90,93,97,100,102,105,109,110,113,114,115,116,117,119,122,123,125,126,127,131,133,134,135,138,140,144,150,151,152,153,154,156,157,159,164,166,168,169,170,175,176,177,180,181,182,184,185,186,187,188,189,190,192,194,198,203,204,205,206,212,215,217,218,219,220,221,226,232,233,234,241,242,247,249,251,252,257,258,259,261,265,267,272,273,276,285,290,291,296,299,302,306,307,308,309,310,311,312,316,317,318,319,321,322,324,325,326,327,328,329,330,331,334,337,339,340,341,342,344,349,362],given_class:359,giver:[218,221,247],glad:91,glanc:[22,27,31,33,39,48,58,61,91,96,180,206],glance_exit:22,glass:[203,226],glob:[43,51,165,328],global:[13,22,33,34,35,43,45,51,56,61,64,67,74,85,89,100,104,105,108,109,114,115,120,125,131,132,137,138,140,159,169,175,187,195,204,206,212,241,247,252,253,256,260,264,267,272,274,277,298,299,322,323,324,328,331,341,342,344,350],global_script:[102,141,323],global_search:[13,22,27,58,91,144,206,247,317],globalscript:43,globalscriptcontain:323,globalth:342,globe:[90,136],gloss:61,glossari:[63,139,364],glow:111,glppebr05ji:133,glu:92,glyph:276,gmcp:[55,74,83,291],gmsheet:58,gmud:24,gno:22,gnome:24,gnu:14,go_back:[51,215,328],go_back_func:51,go_up_one_categori:215,goal:[61,76,79,91,102,103,122,124,205],goals_of_input_valid:357,goblin:[43,51,109,159,252],goblin_arch:252,goblin_archwizard:252,goblin_shaman:109,goblin_wizard:252,goblinwieldingclub:109,god:[20,80,271],godlik:206,goe:[0,5,9,22,26,29,33,37,40,42,49,64,69,73,75,86,90,95,96,118,121,122,123,139,152,153,221,235,247,287,290,305,306,343,344,362],goff:204,going:[0,3,20,25,26,40,45,46,49,51,58,61,62,65,69,70,82,88,90,91,95,96,100,111,116,121,127,133,138,139,180,206,217,218,219,220,221,226,230,233,235,247,264,269,321,328],goings:269,gold:[51,82,85,109,322],gold_valu:85,golden:138,goldenlayout:138,goldenlayout_config:[137,138],goldenlayout_default_config:[137,138],gone:[5,12,77,80,85,100,102,131],good:[0,2,4,5,9,11,12,14,20,21,22,25,26,27,31,33,37,38,39,40,41,46,48,49,51,54,55,56,57,60,61,63,69,70,72,73,79,80,85,87,90,91,93,94,95,96,97,100,102,103,104,106,109,110,111,114,119,121,123,125,126,127,131,133,134,138,144,152,153,154,170,179,194,206,290,328],goodby:287,goodgui:242,googl:[38,43,70,75,79,90,164,330],googlegroup:92,googleusercont:[70,133],googli:136,gossip:[65,79,164],got:[10,13,95,96,116,128,138,215,232],goto_cal:[51,328],goto_cleanup_cmdset:230,goto_command_demo_comm:230,goto_command_demo_help:230,goto_command_demo_room:230,goto_kwarg:328,goto_next_room:121,goto_node2:51,goto_str_or_cal:51,gotostr_or_func:328,gotten:[55,95,131,221,232,247,294],graaah:117,grab:[20,33,43,73,133,165,232,362],gracefulli:[26,43,156,169,206,247,267,344],gradual:[13,14,29,61,79,96,205],grai:[114,126],grain:[115,324],gram:82,grammar:205,grammat:205,grand:11,grant:[19,23,80,131,177,217,218,219,220,221,241,242,251,316],granular:221,grapevin:[7,139,141,142,146,164,262,275,364],grapevine2chan:[65,164],grapevine_:164,grapevine_channel:[65,146,164],grapevine_client_id:65,grapevine_client_secret:65,grapevine_en:[65,164],grapevinebot:146,grapevinecli:278,graph:[49,131],graphic:[42,58,80,83,84,93,111,128,135,141,186,190,291],grasp:[126,133],grave:60,grayscal:183,great:[0,4,14,16,21,22,29,37,39,51,57,61,69,70,73,77,79,91,95,107,108,123,127,131,134,180,188,312],greater:[22,31,73,80,97,105,119,241,328],greatli:78,greek:15,green:[31,43,80,109,114,126,131,159,169,232,321],greenskin:252,greet:[9,35,46,95,104,105,117,272],greetjack:87,greg:79,grei:[109,126,321],grenad:89,grep:[75,131],greyscal:[114,321],greyskinnedgoblin:109,griatch:[21,70,86,119,122,179,181,183,184,185,186,187,189,199,202,205,206,212,213,214,230,232,327,334,340,343],grid:[7,16,111,123,139,166,221,235,344,364],grief:12,griefer:134,grin:[33,41,316],grip:38,gritti:33,ground:[20,21,55,111],group:[4,9,10,12,19,21,26,33,37,41,43,46,55,68,70,79,91,94,100,102,109,112,125,127,139,140,145,148,155,159,165,166,176,187,203,205,232,233,247,251,252,276,315,316,319,321,324],groupd:316,grow:[13,25,26,61,63,79,110,278,279,330,344],grown:[9,25,51,129],grudg:73,grumbl:60,grungies1138:[199,214],grunt:[43,159,252],gstart:169,gthi:81,guarante:[11,37,61,67,80,86,90,102,185,195,251,285,306,318],guard:51,guess:[15,22,46,50,69,91,103,113,138,180,252],guest1:66,guest9:66,guest:[7,53,80,139,144,364],guest_en:[66,80],guest_hom:[66,133],guest_list:66,guest_start_loc:66,guestaccount:112,gui:[45,57,83,137,199,364],guid:[36,37,45,81,95,96,128,133,136],guidelin:[37,38,79],guild:[79,86,112,118,164],guild_memb:51,gun:[21,77],guru:55,h175:133,h189:133,h194:133,h60:133,habit:56,habitu:115,hack:[55,73,116,276],hacker:[79,103],had:[8,9,14,15,19,20,21,29,31,37,55,61,90,95,96,100,102,119,123,128,135,138,154,158,170,182,232,252,256,267,318,322,329,357],hadn:[61,62,131],half:[108,138,239],hall:49,hallwai:49,halt:[102,111],hand:[1,15,37,38,40,43,51,55,56,57,58,61,70,73,87,89,96,105,108,119,134,154,165,167,169,179],handi:[42,75,119,133,219],handl:[0,2,4,5,7,8,9,11,13,15,22,24,27,33,34,37,40,41,43,44,47,49,50,51,53,55,56,60,61,62,64,67,68,74,75,80,83,85,86,87,88,89,91,93,95,97,100,104,105,108,115,116,117,124,125,126,128,129,131,132,137,138,139,144,146,149,150,152,153,159,160,164,165,168,179,186,187,195,198,206,210,212,214,215,217,218,219,220,221,226,232,233,234,236,246,247,250,251,252,256,257,260,264,267,271,272,276,277,279,280,287,290,291,294,296,298,307,308,315,316,318,321,322,324,325,326,328,329,330,331,334,343,344,351],handle_egd_respons:269,handle_eof:287,handle_error:[164,195,260],handle_ff:287,handle_foo_messag:[51,328],handle_int:287,handle_messag:[51,328],handle_message2:51,handle_numb:[51,328],handle_quit:287,handle_setup:271,handler:[2,11,31,33,41,47,64,73,80,83,84,86,87,89,102,104,105,112,115,125,139,144,150,153,168,172,177,179,192,195,196,198,206,231,235,241,242,246,247,252,257,258,260,261,272,284,285,305,308,314,315,316,318,319,323,324,327,328,338,339,344],handlertyp:319,handshak:[24,52,83,277,283,285,290],handshake_don:290,hang:[3,61,70,124],hangout:119,happen:[0,6,12,19,20,26,27,31,33,37,39,41,42,44,51,54,55,57,58,60,61,62,64,72,73,77,80,83,86,88,90,91,95,96,97,102,105,107,108,110,111,114,115,116,119,122,123,126,127,128,131,133,138,144,152,153,164,175,184,213,217,218,219,220,221,231,233,235,247,252,260,269,276,279,299,304,306,307,308,318,328,329,334,337,344],happend:252,happi:[13,119,328],happier:91,happili:96,haproxi:[90,139,364],hard:[9,10,11,13,15,19,26,27,31,33,38,40,41,58,61,63,64,76,79,88,90,93,96,97,100,102,109,112,115,119,121,127,131,133,138,139,168,188,215,256,267,316,318,328,364],hardcod:[57,58,77,100,111,140,316],harden:63,harder:[12,56,61,93,119,127,232],hardwar:[90,280],hare:79,harm:[11,29,219],harri:59,harvest:362,has:[0,2,4,8,9,10,11,12,13,14,15,16,19,20,21,22,23,25,27,28,29,31,33,34,36,37,39,40,41,42,43,44,46,47,49,50,51,53,54,56,57,58,59,60,61,62,63,64,65,67,68,69,70,71,74,75,76,77,78,79,80,83,85,86,87,88,89,90,91,93,94,95,96,97,100,101,102,103,104,105,107,109,110,112,113,114,115,116,117,118,119,121,122,123,125,126,127,128,129,131,132,133,134,135,136,137,138,139,143,144,145,146,151,152,153,154,156,158,159,164,166,167,169,170,171,175,176,179,180,184,185,186,187,188,195,199,203,204,206,215,217,218,219,220,221,223,226,231,232,233,234,235,239,241,242,246,247,251,252,256,259,260,261,267,269,271,272,276,279,281,285,289,294,295,299,305,306,307,308,310,315,316,317,318,319,324,326,327,328,330,334,337,338,341,344,357,360,362],has_account:[89,231,241,246,247],has_attribut:316,has_cmdset:153,has_connect:[41,175],has_drawn:49,has_nick:316,has_par:344,has_perm:[167,242],has_sub:175,has_tag:319,has_thorn:11,hasattr:[28,33],hash:[14,90,109,252,261,295,299,308,317],hasn:[22,49,204,232,315,316,362],hassl:62,hast:219,hat:[37,70,182],hau:[65,146,164,278],have:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,144,146,150,152,153,154,156,159,161,164,167,168,169,170,171,175,176,177,179,180,181,182,184,186,187,188,189,194,195,198,202,204,205,206,209,210,215,217,218,219,220,221,226,233,234,238,239,241,246,247,250,251,252,253,256,259,260,261,272,277,280,281,285,287,290,291,305,306,307,308,313,314,315,316,317,318,319,321,322,323,324,325,327,328,329,330,337,340,341,342,344,345,357,362,363],haven:[4,22,29,42,62,67,77,109,111,117,118,120,127,128,133,134,138,310],head:[20,21,31,46,69,76,77,96,106,119,121,123,138,139],headach:[61,138],header:[9,13,14,27,34,37,38,63,89,95,103,129,138,154,166,177,199,206,247,322,324,329,330],header_color:159,header_line_char:330,headi:330,heading1:330,heading2:330,headless:[96,247],headlong:63,heal:[219,220,233],healing_rang:220,health:[30,61,73,84,88,90,109,116,190,252,291],health_bar:[141,142,178],hear:[29,46,61,170],heard:[111,122,241],heart:126,heartbeat:[115,278],heavi:[6,11,20,23,27,33,64,73,80,82,96,116,123,179,206,218,280,344],heavier:218,heavili:[9,27,37,40,57,75,86,104,180,217,218,219,220,221,318],heed:[105,242],heh:138,hei:[20,179,199,205],height:[52,74,137,141,272,287,306,327,330],held:[1,31,48,116,241],hello:[0,29,34,41,43,46,51,72,74,83,87,88,91,96,105,108,123,129,164,165,170,175,206,272,321],hello_funct:95,hello_valu:108,hello_world:[95,96,108],helmet:[29,77],help:[0,1,4,5,12,13,14,15,19,22,23,27,29,32,33,35,38,39,41,42,44,45,46,47,48,49,50,51,53,57,58,60,61,63,64,67,71,72,76,77,79,80,86,90,91,93,96,105,107,108,109,110,111,112,113,116,119,122,123,124,126,127,131,133,137,138,139,141,142,149,150,152,154,155,156,164,167,170,171,179,184,186,188,192,193,195,199,205,209,217,218,219,220,221,226,230,233,234,241,249,260,265,267,269,270,278,285,287,288,290,292,295,296,298,299,316,317,321,324,325,326,328,329,339,340,341,342,351,357,362,363,364],help_categori:[22,33,41,43,58,60,68,69,71,85,116,123,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,238,239,247,326,328,329,341],help_cateogori:326,help_detail:362,help_entri:326,help_kei:159,help_list:362,help_mor:166,help_system:69,help_text:[166,195,357],helpact:234,helparg:170,helpdetailview:362,helpentri:[69,80,237,238,239,324,362],helpentry_db_tag:237,helpentry_set:319,helpentryadmin:237,helpentryform:237,helpentrymanag:[238,239],helper:[19,41,43,51,58,67,80,109,119,141,144,153,156,159,164,166,173,176,180,184,205,247,251,252,264,276,277,296,308,322,328,329,337,342,343,344],helpfil:166,helplistview:362,helpmixin:362,helptaginlin:237,helptext:[51,249,328],helptext_formatt:[51,249,328],henc:[0,22,46,76,95,106,233,234,241,322],henceforth:[13,44,60,66,80,90,95,97,102,105,111,123,131,132,140,308],henddher:203,her:[122,127,182,189],herbal:327,herd:23,here:[0,2,3,4,5,9,10,11,13,14,15,16,17,19,20,21,22,23,24,25,27,29,30,33,36,37,38,39,40,41,42,43,44,46,47,48,49,51,53,56,57,58,59,61,62,63,64,65,67,69,70,71,72,73,74,75,76,77,79,80,81,83,84,85,86,87,88,89,91,92,95,98,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,123,125,126,127,128,129,130,131,133,134,135,136,137,144,146,152,153,154,159,167,168,169,170,171,179,180,181,182,184,185,186,194,195,204,205,206,213,217,218,219,220,223,231,232,233,234,235,239,242,247,251,252,267,269,272,276,278,284,285,287,290,305,306,308,314,315,316,318,321,324,328,330,334,346,362],hesit:[22,39],hfill_char:330,hidden:[11,49,61,64,96,122,131,137,177,182,185,234],hide:[9,11,20,31,33,34,41,61,73,80,96,111,138,166,177,185,206,232],hide_from:[34,177],hide_from_accounts_set:148,hide_from_objects_set:246,hieararci:241,hierarch:[2,19,43,80,156],hierarchi:[4,19,22,43,61,66,69,80,119,139,165,182,241],high:[4,8,20,31,55,63,80,122,152,220,247,309],higher:[7,19,25,31,41,43,44,51,56,58,62,63,73,80,90,105,108,119,123,128,144,152,156,169,205,217,218,219,220,221,233,241,269,328,344],highest:[31,58,321,344],highest_protocol:340,highli:[9,17,51,55,56,64,80,86,107,115,117,190,322,334],highlight:[14,38,57,58,114,126],hijack:134,hilight:343,hilit:343,hill:87,him:[41,46,51,189,206],hint:[1,25,55,63,79,93,95,109,110,123,124,128,136,139,184,313],hire:[85,103],his:[46,51,58,77,96,109,127,182,189,206,329,343],histogram:344,histor:[62,129,266,337],histori:[4,23,34,41,50,58,64,95,100,131,137,138,139,153,164,175,188,337],hit:[6,9,21,29,52,61,73,116,119,122,131,146,217,218,219,220,221,231,232,265,306,337,340],hit_msg:231,hite:114,hlxvkvaimj4:133,hmm:138,hnow:114,hobbi:[61,90],hobbit:62,hoc:55,hold:[2,6,9,13,14,16,21,26,31,34,36,38,41,47,49,51,58,61,63,64,66,73,77,80,85,89,96,97,100,102,104,105,106,109,111,112,114,116,119,123,125,131,133,136,140,152,153,178,180,182,185,204,214,215,217,218,219,220,221,229,231,232,236,241,242,251,252,253,257,262,274,276,285,295,296,298,308,318,319,320,324,327,328,330,332,337,344,346],holder:[9,69,90,316],home:[8,16,26,63,64,66,70,79,89,90,103,109,131,133,139,153,159,165,231,241,246,247,252,324,344],home_loc:[43,159],homepag:[27,63,79,90,93],homes_set:246,homogen:[27,251,252,256],homogenize_prototyp:251,honor:206,hood:[20,33,38,51,57,60,61,64,86,87,119,122,125,128,206,234],hook:[2,25,30,33,43,49,55,60,61,73,74,76,80,81,89,96,102,107,110,115,116,117,118,120,121,123,127,132,144,150,152,154,156,159,164,165,167,169,170,173,175,182,187,195,203,204,206,210,217,218,219,220,221,228,230,231,232,233,235,244,247,254,256,259,261,271,278,290,293,295,303,305,306,307,309,318,326,329,334,335,338,342,344,357,362],hooligan:12,hop:55,hope:[42,58,91],hopefulli:[8,26,41,49,90,111,133,137],horizon:62,horizont:[138,232,330,344],hors:27,host1plu:90,host:[7,12,23,26,27,61,64,67,89,98,100,102,103,131,135,205,312,344],host_os_i:344,hostnam:67,hotbutton:137,hotel:90,hotspot:103,hour:[27,62,132,184,331,344],hous:[43,90,109,159],housecat:27,hover:138,how:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,17,19,20,21,22,25,26,27,28,29,30,31,35,37,38,39,40,41,42,43,44,45,46,48,49,51,55,56,57,60,61,62,63,64,66,68,69,72,73,75,77,80,81,82,83,84,85,86,87,88,90,91,93,94,95,96,97,102,103,104,105,106,108,109,110,111,112,116,117,118,119,120,123,124,126,127,128,130,131,132,133,134,135,136,137,138,139,140,145,146,151,153,154,168,169,170,173,175,180,182,184,185,189,204,205,206,213,215,219,220,221,226,231,235,237,241,246,247,252,256,261,267,272,277,281,286,291,294,298,305,306,307,308,312,315,318,322,326,328,329,330,337,338,343,344,357,363,364],howev:[0,2,4,5,10,11,12,13,14,15,17,20,22,23,29,30,31,33,37,38,40,41,43,44,46,50,55,58,59,60,62,70,73,77,80,85,88,90,91,108,109,110,111,113,114,115,120,123,125,128,129,131,132,135,153,154,159,166,169,170,180,188,190,195,204,215,220,226,241,321],howto:94,hpad_char:330,href:[17,69,133],hrs:184,htm:282,html5:55,html:[11,24,38,43,55,57,61,64,69,79,83,94,96,103,111,114,134,135,136,137,138,145,169,175,204,234,239,289,291,295,296,312,318,340,343,362],htmlchar:343,htop:110,http404:[69,134],http:[3,4,9,10,11,16,22,23,36,37,38,39,41,43,45,46,54,55,57,61,63,64,65,69,70,75,79,83,90,92,94,95,96,98,101,103,104,107,108,111,116,122,124,127,128,130,131,133,134,135,137,138,141,146,164,180,204,234,269,276,278,279,280,281,282,283,289,291,294,295,296,312,321,330,343,344,357],http_request:[103,135],httpchannel:312,httpchannelwithxforwardedfor:312,httpd:8,httprequest:144,httprespons:[145,173,244],httpresponseredirect:133,hub:[79,100,139,324],hue:114,huge:[3,16,21,29,39,61,62,86,127,235,329],huh:[22,33],human:[4,12,40,51,57,61,64,73,85,93,96,117,133,362],humanizeconfig:4,hundr:[72,113,133],hungri:86,hunt:[73,231],hunting_pac:231,hunting_skil:73,hurdl:49,hurt:30,huzzah:9,hwejfpoiwjrpw09:9,hxvgrbok3:122,hybrid:73,i18n:[47,76,247],iac:88,iattribut:316,iattributebackend:316,icon:[79,106,138],id_:[145,237,244,357],id_str:84,idcount:298,idea:[0,9,12,26,33,37,38,39,45,49,55,56,60,61,63,69,71,72,73,77,80,85,106,107,108,119,121,123,127,131,133,134,139,154,166,167,170,179,205,252,334,343,362,364],ideal:[1,6,33,37,46,48,90,129,138,148,242],idenfi:152,ident:[9,31,33,44,57,61,83,96,97,110,114,144,167,206,212,242,247,321,322],identif:[27,115,308],identifi:[0,8,23,28,30,31,33,38,39,41,42,43,49,50,51,58,61,69,74,83,84,88,93,97,102,109,115,116,119,125,134,138,151,154,159,164,167,170,176,180,187,205,206,215,233,242,247,251,258,261,264,267,272,274,277,291,295,304,306,308,316,317,321,324,327,328,344],identify_object:176,idl:[12,105,144,146,231,247,299,306,308],idle_command:33,idle_tim:[144,247],idle_timeout:146,idmap:334,idmapp:[43,86,125,141,142,169,177,239,274,300,316,317,318,320],idnum:176,ids:[12,58,121,187,298,308,327],idstr:[84,115,257,261,304,344],idtifi:176,idx:121,ietf:283,ifconfig:67,ifram:[137,138],ignor:[6,14,20,23,27,29,31,33,34,38,42,43,51,58,73,74,80,83,86,90,91,95,96,105,114,117,121,122,125,131,144,151,152,153,154,159,170,187,206,241,246,247,261,267,272,278,279,294,295,296,316,318,321,322,327,328,339,344,345],ignore_error:144,ignorecas:[159,165,166,171,182,321,326,328,343],ignoredext:312,ij9:122,illumin:111,illus:[10,96],imag:[4,17,63,69,70,90,101,106,122,133,135,136,137,138],imagesconfig:4,imagin:[14,29,31,46,48,51,61,77,116,117,122,132,138,226,322],imaginari:[21,61,79,111],imc2:34,imeplement:235,img:[17,70],immedi:[0,5,15,27,29,33,43,48,49,51,64,70,74,83,90,95,100,102,109,116,120,133,134,157,169,231,278,322,324,328,329],immobil:25,immort:231,immut:[11,261],imo:1,impact:[94,126],impati:63,imper:102,implement:[1,6,11,21,25,26,28,29,31,33,34,37,40,41,49,51,55,56,57,58,60,61,78,79,80,81,86,88,89,96,97,108,111,112,114,115,116,117,118,119,120,123,124,125,127,128,131,135,137,138,139,140,145,148,152,153,156,157,158,159,160,161,164,165,166,167,168,169,175,176,177,179,181,182,184,185,187,189,202,205,206,210,212,213,214,215,217,218,221,231,232,233,235,238,239,241,242,246,247,256,258,261,273,278,280,281,282,283,284,285,287,289,290,291,294,295,296,298,305,312,316,317,318,319,321,322,325,326,328,329,335,339,340,343,344,362,364],impli:[22,112],implicit:[91,114,126],implicit_keep:252,impmement:242,import_cmdset:153,importantli:[51,133,242],importerror:[4,9,344],impos:[55,79,310],imposs:[15,19,38,49,51,90,111,113,121,133,138,330],impract:[33,109,252],imprecis:334,impress:[42,111],improv:[0,11,37,61,70,76,91,128],in_game_error:[26,103],inabl:[63,103],inaccess:[0,80],inact:[102,231],inactiv:[43,169],inadvert:221,inadyn:90,inarticul:108,inbuilt:[67,112,123],incant:75,incarn:357,incid:210,includ:[2,4,6,9,12,13,16,20,21,22,27,30,31,33,36,37,38,39,41,43,44,48,51,53,55,58,60,61,62,63,64,69,73,74,75,78,79,80,84,85,88,89,91,93,95,96,100,101,102,104,105,106,107,108,109,111,112,114,115,116,119,121,125,127,131,133,134,135,136,137,138,144,150,151,152,154,157,158,159,167,170,175,179,182,187,188,189,195,205,206,210,215,217,218,219,220,221,233,234,235,241,247,259,267,285,287,290,291,304,307,316,317,318,319,321,322,323,324,325,327,328,330,331,337,344],include_account:316,include_children:317,include_par:317,include_prefix:151,include_unloggedin:[285,308],inclus:317,incoher:126,incol:[58,327,330],incom:[33,40,88,90,96,104,139,145,146,151,168,173,210,218,244,254,276,280,283,286,290,291,295,296,298,306,307,308,312,328,329],incomplet:[154,213,330],inconsist:[10,97,204],incorpor:[43,156,330],incorrect:176,increas:[25,62,73,80,103,114,119,125,179,218,220,221,233,279,285,299,326,328],increase_ind:326,incred:[215,269],increment:[63,316],incur:27,indata:[40,316],inde:[9,55,90,91],indefinit:[102,219,232,324],indent:[0,9,13,14,27,38,50,51,57,60,95,129,137,296,322,326,328,344],independ:[0,56,64,102,126,179,209],indetermin:269,index1:133,index2:133,index:[7,38,43,49,56,61,68,79,85,86,90,108,111,121,135,136,151,164,165,166,179,215,232,239,265,269,270,312,319,321,329,330,344,357,360,362,364],index_category_clr:166,index_to_select:215,index_topic_clr:166,index_type_separator_clr:166,indexerror:[134,235,317],indextest:360,indic:[0,8,22,38,43,49,51,62,85,91,95,111,119,146,159,166,167,189,210,215,256,259,278,279,287,294,295,308,310,312,316,321,322,328,329,344],individu:[0,11,13,14,18,21,22,33,34,41,43,46,48,49,55,57,58,59,71,73,78,85,88,90,96,109,111,132,153,157,175,185,192,195,220,241,249,252,306,319,321,330,338,339],ineffici:[115,117,321],infact:33,infinit:[0,61,63,146,235,251],inflict:[102,219],inflict_condit:219,influenc:[10,16,22,46,51,102,123,179,344],influenti:79,info1:214,info2:214,info3:214,info:[3,5,11,13,16,17,20,23,24,25,26,27,33,35,37,43,52,55,58,59,63,64,68,78,86,88,89,95,100,101,102,104,105,106,112,124,125,131,138,139,144,146,148,156,157,159,166,169,171,178,179,181,186,187,190,199,233,239,247,267,272,276,284,285,305,306,308,317,318,319,324,327,337,344],infomsg:337,inforamt:[206,235,247,318],inform:[0,2,3,6,8,9,18,20,22,23,25,27,28,33,34,36,38,41,43,46,48,51,55,60,65,66,68,69,73,83,84,85,86,91,94,95,96,100,102,103,104,105,109,112,114,116,117,119,120,123,124,127,131,132,133,134,135,136,137,138,139,144,146,154,157,159,164,165,169,177,180,185,204,206,210,211,219,220,221,239,247,267,272,281,282,283,285,294,307,308,317,318,321,324,326,337,344,357],infrastructur:[64,83,90,103,150,277],infrequ:46,ing:[9,14,58,185],ingam:46,ingame_python:[141,142,178],ingame_tim:62,ingo:[31,51,58,74,114,152,279],inher:[4,10,87,108],inherit:[2,5,6,22,27,30,31,33,36,40,42,43,57,60,64,69,81,86,89,96,102,109,114,117,119,123,125,127,148,152,154,159,167,169,170,175,177,179,180,182,187,189,203,206,213,217,218,219,220,221,230,231,233,234,243,246,247,252,256,258,307,314,317,318,326,329,330,334,342,344,362],inheritng:252,inherits_from:[43,117,134,169,344],inifinit:251,init:[6,9,22,38,40,47,49,58,60,63,75,83,95,104,106,131,137,138,179,180,188,246,267,285,286,296,308,344],init_delayed_messag:188,init_django_pagin:329,init_evt:329,init_f_str:329,init_fill_field:188,init_game_directori:267,init_iter:329,init_menu:230,init_mod:153,init_new_account:344,init_pag:[251,329],init_pars:234,init_queryset:329,init_rang:221,init_sess:[40,307],init_spawn_valu:251,init_str:329,init_tree_select:215,init_tru:153,initi:[5,9,11,21,29,33,38,47,49,50,51,58,60,61,64,68,73,85,97,105,107,110,120,123,127,130,131,133,137,138,144,145,146,153,154,170,175,179,186,188,192,196,198,205,206,215,217,218,219,220,221,226,230,231,232,237,244,246,247,251,257,260,261,264,265,267,269,270,271,276,277,278,280,281,282,283,285,286,287,288,289,290,291,292,294,295,296,298,306,307,308,315,316,321,323,326,327,328,329,339,340,344,351,357,362],initial_formdata:188,initial_ind:330,initial_setup:[141,142,262,305],initialdelai:[264,278,279],initialize_for_combat:[217,218,219,220,221],initialize_nick_templ:316,initil:295,inject:[96,103,306,322,328],inlin:[18,57,85,104,137,145,173,237,244,247,254,265,315],inlinefunc:[45,83,104,109,141,142,320],inlinefunc_en:114,inlinefunc_modul:114,inlinefunc_stack_maxs:114,inlinefunct:114,inmemori:316,inmemoryattribut:316,inmemoryattributebackend:316,inmemorybackend:316,inmemorysavehandl:339,inner:77,innoc:[12,43,157],innocu:103,inobject:276,inp:[51,159,176,251,265,329,344],inpect:51,input:[1,5,9,10,14,15,17,20,22,27,30,31,40,41,43,50,53,55,57,58,70,74,79,83,87,91,95,96,104,105,109,110,111,113,114,115,118,127,131,133,135,137,138,144,149,150,151,154,159,164,166,167,168,169,170,176,180,185,188,205,206,210,215,220,232,238,247,250,251,252,265,272,276,287,295,306,308,316,317,319,326,327,328,329,330,338,340,344,345,357],input_arg:170,input_cmdset:328,input_func_modul:[74,272],input_str:328,input_validation_cheat_sheet:357,inputcmdset:328,inputcommand:[74,83,88],inputcompon:137,inputdebug:[74,272],inputfunc:[40,45,104,139,141,142,146,262,295,306,308,364],inputfunc_nam:295,inputfunct:74,inputhandl:141,inputlin:[43,87,165,175,316,317],insecur:90,insensit:[51,166,187,206,233,317,349],insert:[13,14,25,50,51,58,64,71,87,96,109,114,138,153,189,202,251,322,328,330,344],insid:[0,5,10,11,13,15,19,20,21,23,25,27,28,31,33,38,42,43,46,47,51,57,59,64,67,68,69,71,72,73,80,82,83,85,86,88,89,91,92,93,95,96,100,102,105,106,108,109,110,111,114,117,121,123,125,127,132,133,134,135,136,139,141,146,169,175,180,187,190,194,195,206,231,233,235,241,246,247,250,267,284,305,312,322,323,344],inside_rec:241,insiderecurs:241,insight:[20,41,42,122,136],insist:[90,91],inspect:[12,23,43,51,85,144,159,179,265,267,328],inspectdb:86,inspir:[33,41,73,116,127,129,181,189,330,344],instac:[154,247,306],instal:[0,3,5,14,20,26,37,38,41,42,46,47,54,55,57,58,59,60,64,65,76,77,79,95,96,97,98,101,103,106,108,110,124,127,128,130,134,138,139,141,179,181,182,183,185,186,187,199,202,203,206,210,212,213,217,218,219,220,221,363,364],installed_app:[4,69,86,127,133,134],instanc:[0,2,3,8,11,16,17,22,25,27,28,29,39,41,42,43,46,50,51,56,57,58,59,60,61,62,64,69,76,84,85,91,95,96,97,102,103,105,107,109,116,119,121,126,127,131,136,137,144,145,148,150,151,152,153,154,163,166,168,169,170,173,175,177,180,195,198,204,215,234,235,237,239,244,246,247,251,252,254,256,260,261,264,267,276,277,278,279,280,281,282,283,285,289,290,294,298,299,307,308,312,315,316,318,319,321,324,325,328,330,334,335,340,344,345,357],instanci:180,instant:136,instanti:[33,86,127,144,153,170,226,258,261,284,305,308,316,327],instantli:315,instead:[0,3,6,9,10,11,12,14,16,19,20,21,22,23,25,26,27,29,30,31,33,34,37,39,41,43,46,48,49,51,57,58,60,62,63,64,67,79,80,83,84,85,86,89,90,91,93,95,96,100,102,103,104,105,106,109,110,111,112,114,116,117,118,119,121,123,125,126,127,128,131,132,133,134,135,136,138,139,144,146,153,154,156,157,159,161,164,168,169,171,175,180,185,186,188,198,205,206,213,215,217,218,219,220,221,230,232,234,235,241,242,247,252,261,267,295,296,306,310,315,316,318,319,324,328,329,334,337,339,340,341,344,357,362],instig:157,instil:[140,219],instnac:260,instr:[276,344],instruct:[0,8,9,13,14,23,27,30,37,38,42,43,46,47,55,57,58,60,61,63,67,74,75,77,79,83,85,90,93,96,97,100,106,119,124,131,139,144,154,169,206,210,252,261,264,267,277,279,285,290,291,295,296,298,306,308,328,338],insult:94,integ:[25,31,33,39,85,91,105,109,114,123,125,151,182,184,185,188,217,218,219,220,221,233,241,247,317,340,344,345],integerfield:[133,357],integr:[4,7,41,45,61,64,76,79,103,134,137,139,170,206,270,272,328,364],intellig:[73,83,91,103,134,153,298],intend:[13,17,20,22,27,31,33,34,37,42,55,61,90,103,108,109,111,112,114,122,126,131,136,137,144,179,180,206,239,247,252,285,317,319,324,325,327,330,341,342,344,345,362],intens:[79,93,114],intent:[51,76,96,103,205,344],inter:13,interact:[2,20,23,29,33,40,42,43,51,55,56,59,61,77,79,100,106,108,110,116,122,133,138,141,158,170,221,226,267,284,322,337,344],intercept:308,interchang:[116,328,362],interest:[0,1,4,11,14,20,21,22,26,33,37,40,42,46,49,55,57,60,61,70,79,86,90,91,93,96,103,109,114,119,120,121,123,136,153,168,179,184,233,235],interf:[63,226],interfac:[9,21,22,23,25,36,40,42,43,63,64,69,70,79,80,90,94,96,97,101,104,111,119,133,135,137,138,139,156,159,173,175,247,259,278,307,312,316,319,321,344,362],interfaceclass:287,interfer:[23,97,251],interim:[29,115],interlink:[284,305],intermediari:[206,242,257,328],intern:[10,11,15,27,34,38,40,51,63,76,80,87,88,90,100,102,103,104,105,107,109,110,112,113,116,128,144,146,177,186,189,206,235,247,251,258,295,296,316,318,319,321,325,328,330,344],internal:328,internal_port:90,internation:[7,113,139,364],internet:[10,12,16,33,40,43,63,67,72,90,94,103,124,157,264,269,277,278,279,287,290,298,312],interpret:[33,42,43,56,59,60,91,93,96,102,103,104,109,134,154,158,159,251,252,295,321,340],interrupt:[63,150,154,170,192,195,198,287],interruptcommand:[33,91,141,150,154],interruptev:198,intersect:[31,152],interv:[64,74,102,115,116,120,121,132,146,184,195,217,218,219,220,221,223,231,233,256,261,272,324,331,344],interval1:261,intim:[31,33],intimid:58,intoexit:[43,159],intpropv:123,intricaci:62,intrigu:54,intro:[4,69,122,124,134,230,233],intro_menu:[141,142,178,229],introduc:[26,29,31,57,73,97,123,124,127,131,139,206],introduct:[3,13,14,15,16,18,19,20,45,60,61,63,124,127,131,139,180,363,364],introductori:[55,63],introroom:233,introspect:203,intrus:126,intuit:[22,51,61,86,91,131,139,152],intxt:27,inv:[31,43,82,165,182],invalid:[11,41,60,91,109,144,188,206,251,330,340,344,345],invalid_formchar:327,inventori:[20,21,25,27,31,80,85,91,97,119,138,165,182,206,241,247,318],invers:[80,114,126,206,293,343],invert:[114,126],investig:90,invis:24,invit:[0,10,61,77,226],invitingli:[20,226],invok:[11,13,14,102,209,241],involv:[40,56,61,68,75,80,89,105,107,116,123,188,221,318,319,321],ioerror:322,ipregex:157,ipstart:[63,100,110],iptabl:103,ipython:[26,58,59,96],irc2chan:[72,164],irc:[7,9,26,34,43,55,60,63,70,79,94,98,131,138,139,141,142,146,164,172,262,272,275,285,308,363,364],irc_botnam:146,irc_channel:146,irc_en:[72,164,241],irc_network:146,irc_port:146,irc_rpl_endofnam:279,irc_rpl_namrepli:279,irc_ssl:146,ircbot:[146,279],ircbotfactori:[146,279],ircclient:[279,308],ircclientfactori:285,irchannel:[43,72,164],ircnetwork:[43,72,164],ircstatu:164,iron:179,ironrealm:291,irregular:[223,231,233],irregular_echo:231,irrelev:[103,276],irur:52,is_account_object:56,is_act:[145,256],is_aggress:117,is_anonym:[4,69],is_anyon:4,is_authent:133,is_ban:144,is_bot:148,is_build:4,is_categori:215,is_channel:[33,41],is_connect:[148,247],is_craft:29,is_exit:[33,154],is_fight:29,is_full_moon:25,is_giving_light:232,is_gm:58,is_in_chargen:123,is_in_combat:[217,218,219,220,221],is_inst:27,is_it:344,is_iter:344,is_lit:[232,233],is_next:[148,177,246,256,316,318],is_o:344,is_ouch:11,is_prototype_bas:251,is_sai:118,is_staff:145,is_subprocess:344,is_superus:[2,4,144,145,148,242,247,324],is_thief:[43,166],is_turn:[217,218,219,220,221],is_typeclass:[144,318],is_valid:[102,121,133,179,256,259],is_valid_coordin:235,isalnum:321,isalpha:321,isb:170,isbinari:[278,295],isclos:137,isconnect:137,isdigit:[58,114,321],isfiremag:28,isinst:[39,344],isleaf:296,islow:321,isn:[0,4,17,22,41,42,46,50,56,62,63,69,91,119,138,180,192,196,221,233,234,269,315,321,338,349],isnul:340,iso:[15,113],isol:[13,37,61,63,64,91,95,100,127],isp:[90,103],isspac:321,issu:[7,8,10,11,13,14,21,22,23,29,31,33,37,38,42,43,45,48,54,58,60,61,63,70,79,85,89,90,93,103,108,111,123,125,126,127,131,138,140,164,251,267,298,299,330,363],istart:[42,110,141],istep:299,istitl:321,isub:116,isupp:321,itch:[61,63],item:[20,43,47,51,59,63,68,69,82,85,86,116,117,138,165,179,182,188,206,219,226,235,286,316,344],item_consum:219,item_func:219,item_kwarg:219,item_selfonli:219,item_us:219,itemcoordin:235,itemfunc:219,itemfunc_add_condit:219,itemfunc_attack:219,itemfunc_cure_condit:219,itemfunc_h:219,itend:344,iter:[11,49,51,59,97,112,119,138,144,206,235,247,252,259,296,298,316,318,319,321,322,325,329,344],iter_cal:329,iter_to_str:344,itl:[22,180],its:[0,2,3,5,9,11,12,14,15,16,20,21,22,23,25,27,29,31,33,37,38,39,40,41,42,43,44,49,50,51,52,55,56,57,58,60,61,62,63,64,65,68,69,70,72,73,75,80,81,82,83,84,85,86,88,89,90,91,93,94,95,96,98,100,101,102,103,104,105,109,111,114,115,117,118,119,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,144,145,146,148,150,151,152,153,154,157,159,167,170,175,176,179,180,188,189,195,203,205,206,213,215,217,218,219,220,221,226,231,232,234,235,241,246,247,252,260,261,267,272,276,280,293,294,295,296,299,307,308,312,313,315,316,317,318,319,322,327,328,330,334,337,338,339,340,341,344,357,362],itself:[0,4,9,11,15,17,20,21,22,23,25,27,29,33,36,37,40,41,44,45,46,47,49,51,55,60,63,64,68,75,77,78,80,82,85,86,89,96,104,105,106,111,114,115,116,118,119,122,123,125,127,131,133,134,135,136,144,146,166,175,180,185,188,198,204,206,215,220,223,232,233,235,236,241,247,249,250,252,260,267,291,296,308,312,315,316,319,321,324,326,328,339,341,344,346,357,362],iusernamepassword:287,iwar:85,iweb:90,iwebsocketclientchannelfactori:278,iwth:261,jack:87,jail:[12,13],jamochamud:24,jan:[12,62],januari:62,jarin:90,javascript:[55,83,88,103,135,136,137,138,295,296],jenkin:[123,182,188,190,215,217,218,219,220,221],jet:220,jetbrain:[79,106],jnwidufhjw4545_oifej:9,job:[33,41,67,69,80,144],jobfusc:205,john:[58,214],johnni:[209,210],johnsson:87,join:[9,22,34,43,49,58,61,63,65,72,96,112,116,119,123,133,144,164,175,179,205,321,344],join_fight:[217,218,219,220,221],join_rangefield:221,joiner:175,jointli:[64,153],joke:59,joker_kei:[22,180],journal:[61,111],jpg:122,jqueri:138,json:[83,88,137,138,209,278,291,295,296,325],jsondata:88,jsonencod:296,jsonifi:296,jtext:321,judgement:73,jump:[13,14,21,41,44,49,51,52,55,61,63,77,89,108,131,139,215,265],junk:276,just:[0,1,3,4,5,6,9,10,11,12,13,14,15,17,19,20,21,22,23,25,26,27,28,29,30,31,33,34,37,38,39,40,41,42,43,44,46,47,48,49,51,52,54,56,57,58,59,60,61,62,63,64,68,69,70,73,74,76,77,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,144,152,153,154,157,159,164,167,168,169,170,175,179,180,182,185,187,192,194,195,205,206,214,215,217,218,219,220,221,226,231,233,235,241,242,247,252,257,272,285,295,305,312,316,317,318,321,325,326,328,330,339,340,344,345,362],justif:[329,344],justifi:[96,109,321,329,344],justifii:329,justify_kwarg:329,kcachegrind:93,keen:37,keep:[0,1,4,7,9,11,13,14,15,16,20,25,26,29,30,33,34,42,45,48,51,56,57,58,60,61,62,63,64,68,69,73,75,76,77,78,81,82,85,91,92,95,96,97,100,105,109,116,118,121,122,126,128,131,132,133,134,138,146,153,187,190,195,204,209,226,232,233,251,252,269,310,328,330,344],keep_log:[34,175,324],keepal:[105,290,296],keeper:85,keepint:64,kei:[0,1,5,8,9,10,11,13,21,25,26,27,28,29,30,31,33,34,38,39,41,42,43,44,49,50,52,56,57,58,60,62,69,71,74,80,81,82,84,85,86,88,89,91,94,95,96,97,102,107,111,112,114,115,116,119,120,121,123,125,127,129,131,133,137,138,144,146,148,150,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,175,176,179,180,181,182,184,185,186,187,188,189,193,194,199,202,203,205,206,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,239,241,246,247,250,251,252,256,257,258,259,260,261,265,267,272,273,274,276,285,288,291,292,294,295,296,299,306,307,308,310,316,317,318,319,323,324,326,327,328,329,337,338,339,341,344,357,362],kept:[33,43,57,80,91,119,127,159,194,195,252,316],kept_opt:215,key1:202,key2:[51,202,247],key_mergetyp:[31,152,226],keyboard:138,keydown:137,keyerror:[251,261,339,344],keyfil:[288,292],keynam:[175,250,252,324],keypair:287,keys_go_back:[22,180],keystr:319,keystrok:287,keywod:330,keyword:[0,1,5,10,11,22,25,27,29,30,33,34,43,50,51,52,58,62,74,80,81,83,86,91,93,95,102,107,109,114,115,119,123,125,127,134,144,146,150,154,159,165,175,182,184,187,192,194,195,198,205,206,210,217,218,219,220,221,233,234,242,247,251,252,257,260,261,265,267,272,276,278,279,285,286,287,290,295,296,306,307,308,310,316,317,318,324,327,328,329,330,334,338,340,341,344,362],keyword_ev:198,kick:[12,31,43,51,58,90,146,152,157,164,171,186,329],kildclient:24,kill:[20,27,43,51,61,75,93,100,102,105,116,179,231,232,257,261,267,305,312],killsign:267,kilogram:82,kind:[0,11,37,38,40,80,91,97,104,116,118,119,121,133,138,217,218,219,220,242,318,345],kinda:138,kindli:126,kintmvlhf6m:133,kitchen:[43,44,159],knew:95,knock:51,knot:182,know:[0,2,5,6,8,10,11,13,14,15,16,20,21,22,23,26,29,31,33,37,38,39,40,41,42,43,44,48,49,51,54,56,57,58,60,61,64,67,69,70,72,73,74,79,80,81,82,83,84,85,86,89,90,91,93,95,96,97,98,100,102,104,105,110,111,113,114,116,117,118,119,121,125,126,127,128,131,132,133,134,136,138,139,154,158,159,167,170,179,194,199,205,215,220,226,232,246,247,272,306,308,315,316,322,323,328,344,362,363],knowledg:[13,15,33,55,77,289,308],known:[7,20,24,33,50,73,79,80,87,92,96,109,114,115,125,134,137,143,168,220,329],knuth:93,kobold:61,koster:79,kovash:51,kwar:318,kwarg:[1,10,25,29,33,40,41,51,58,59,74,80,81,83,84,88,96,107,109,114,115,118,121,125,132,134,137,144,145,146,147,148,150,153,154,156,157,158,159,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,194,195,199,202,203,204,205,206,210,212,213,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,238,239,241,242,244,245,246,247,249,250,251,252,255,256,257,259,260,261,264,265,272,273,274,276,277,278,279,284,285,286,287,288,290,291,292,295,296,300,306,307,308,309,310,312,315,316,317,318,319,321,324,326,327,328,329,330,331,333,334,337,338,339,340,341,342,344,345,357,362],kwargtyp:344,l82:135,l93:96,label:[48,70,86,112,133,140,357],label_suffix:[145,237,244,357],laborum:52,lack:[13,38,56,61,70,129,206,226,247,316,344],ladder:58,lag:[49,63],lai:[1,48],lair:14,lambda:[10,39,51,69,109,195,252,344],lamp:[111,226],lamp_breaks_msg:226,land:[91,116,231,232],landscap:[103,111],lang:205,langcod:206,langnam:206,languag:[7,15,38,40,47,55,56,57,58,64,79,91,95,103,108,113,114,118,124,125,127,129,130,137,139,205,206],language_cod:76,languageerror:[205,206],languageexistserror:205,languagehandl:205,larg:[10,11,13,14,16,20,23,37,51,55,56,61,86,90,96,97,108,109,122,127,205,226,235,251,285,322,327,334],larger:[14,20,49,57,61,68,80,82,86,108,187,247,293,321,334,344],largesword:86,laser:77,last:[4,11,13,14,22,26,29,31,33,34,36,42,43,48,51,54,58,60,69,74,76,86,87,89,90,91,95,96,105,107,110,116,121,122,126,127,131,134,136,137,150,151,153,159,164,165,179,184,187,195,206,215,217,218,219,220,221,247,271,321,322,323,328,329,330,331,337,344],last_cmd:33,last_initial_setup_step:305,last_login:145,last_nam:145,last_step:271,lastcast:28,lastli:[81,83,111,133,150],lastsit:25,late:[251,323],later:[0,2,9,11,12,13,22,23,33,34,38,40,43,46,55,58,60,61,63,64,69,73,74,76,81,83,84,86,90,95,97,109,111,114,115,117,120,121,123,125,131,133,138,139,140,152,156,157,159,167,175,184,203,206,252,261,287,319,344],latest:[20,21,27,31,36,38,43,58,63,64,75,83,98,131,159,164,169,247,252,286,310,328,337,363],latin:[15,113,247,344],latin_nam:247,latinifi:[247,344],latter:[6,27,29,34,64,77,80,89,91,95,115,126,206,256,258,319],launch:[14,21,54,63,75,85,90,93,102,106,110,122,127,138,153,226,266,267,277,279,298,326,344],launcher:[93,106,266,267,276,277,298],law:79,layer:[22,31,246,318],layout:[27,49,56,58,92,96,119,125,128,137,138,235],lazi:344,lazy_properti:344,lazyencod:296,lazyset:337,lc_messag:76,lcnorth:114,ldesc:56,ldflag:75,lead:[0,11,13,17,20,22,23,31,37,43,49,51,56,60,61,64,69,79,83,86,102,103,111,121,144,151,152,159,169,195,198,204,212,247,252,306,316,318,328,330,344],leak:135,lean:206,leap:[62,118],learn:[0,15,16,17,20,22,29,31,33,42,46,49,56,57,60,63,68,69,79,80,81,95,96,106,108,118,122,124,126,127,131,134,136,139,205,220,364],learnspel:220,least:[3,8,33,39,42,47,49,51,55,57,58,61,67,73,80,86,90,96,102,106,121,138,144,153,176,179,205,238,247,252,259,321,327,330,341,344],leasur:231,leather:85,leav:[0,2,20,21,22,25,43,58,60,73,74,77,85,93,95,102,103,116,123,137,138,156,158,159,175,179,180,233,235,241,247,260,295,296,328,334],leavelock:241,leaver:175,left:[22,27,33,36,39,41,43,57,69,74,80,85,86,91,101,102,109,111,114,137,138,144,159,165,167,190,217,218,219,220,221,226,232,235,242,252,318,321,330,344,363],left_justifi:109,leg:304,legaci:[88,109,144,206],legal:[90,103],legend:[49,50],leisur:345,len:[25,49,58,71,85,109,114,116,119,120,121,151,168,184,344],lend:50,length:[22,23,25,49,62,66,68,71,83,86,90,91,95,122,151,184,188,190,198,205,206,269,310,316,321,330,344,362],lengthi:[1,25],lengthier:363,lenient:109,less:[22,34,44,51,56,61,64,73,86,90,91,106,108,116,119,132,133,139,184,218,220,316],let:[0,3,5,7,8,9,11,12,14,15,20,21,22,25,28,31,33,37,39,40,41,43,44,46,48,49,51,56,57,58,60,61,62,63,64,65,70,72,73,74,75,77,80,81,82,83,85,89,91,93,95,96,98,103,106,111,114,115,117,118,119,121,123,124,126,127,131,133,134,136,137,140,144,153,154,159,165,170,179,182,185,188,190,215,235,242,247,277,296,308,324,328,338,343,357,362,363],letsencrypt:[67,90],letter:[15,22,39,43,76,90,95,111,113,114,119,123,133,156,165,180,204,205,311,321,344],leve:251,level:[2,11,13,19,20,22,26,27,30,36,38,40,41,43,47,50,51,55,57,58,61,66,69,71,73,79,80,85,90,95,96,104,105,108,111,112,119,122,125,130,133,138,139,140,144,156,161,162,169,175,180,181,184,199,205,215,226,241,247,252,269,306,316,318,324,326,331,344,362],lever:[33,125],leverag:[3,38],levi:86,lh3:133,lh6:133,lhs:[25,58,167],lhslist:167,lib:[63,67,75,97],libapache2:8,libcrypt:75,libjpeg:75,librari:[6,11,13,26,45,53,56,57,63,64,75,76,78,79,91,95,100,103,108,109,125,127,128,133,136,137,138,178,204,234,251,252,280,316,318,330,344],licenc:321,licens:[37,45,79,106,139,204,321,364],lid:226,lidclosedcmdset:226,lidopencmdset:226,lie:111,lies:[33,131],life:[11,37,62,87,95,126,184,231],lift:[20,73,80,96,123,221,242],lifter:80,light:[14,23,27,38,61,102,108,122,153,218,232,233,241,252,260,321],lightabl:232,lighter:[114,218],lightest:27,lightli:[16,218],lightsail:90,lightsourc:232,lightsource_cmdset:232,like:[0,2,3,5,6,8,9,10,11,12,14,15,16,17,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,51,52,53,54,55,57,58,59,60,61,62,63,64,65,67,68,69,70,71,72,73,74,75,76,77,79,80,81,83,84,85,86,88,89,90,91,93,95,96,97,100,102,103,104,105,106,107,108,109,111,112,114,115,116,117,118,119,120,121,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,144,146,148,149,151,152,153,156,158,159,164,167,170,171,172,175,176,179,180,182,186,187,188,189,190,198,204,205,206,212,213,215,217,218,219,220,221,226,233,234,235,239,241,242,246,247,251,252,272,280,296,301,305,307,308,316,317,318,321,322,324,327,328,329,330,331,334,338,340,341,344,357,362,364],limbo:[0,9,13,14,20,22,27,43,59,63,66,104,111,121,122,134,159,180,233,271],limbo_exit:111,limit:[0,2,6,11,16,19,20,25,26,27,28,31,33,34,37,43,46,51,53,55,58,61,64,68,71,80,86,90,91,95,102,104,109,112,116,123,125,126,127,138,140,144,156,157,158,159,175,176,182,195,206,215,217,219,220,226,238,239,242,247,252,256,261,272,285,310,316,317,318,319,322,324,326,337,341,344,362],limit_valu:144,limitedsizeordereddict:344,line:[0,4,5,9,10,13,14,15,19,22,23,25,26,27,29,30,31,33,34,36,38,39,41,43,45,46,48,51,53,54,56,57,58,59,60,61,62,63,67,69,74,76,81,83,86,87,89,90,91,92,93,95,96,97,98,100,104,108,109,110,111,114,119,121,123,125,127,128,133,134,137,138,139,141,144,150,153,159,164,166,168,169,180,185,186,188,202,205,206,215,226,234,235,251,267,272,287,290,295,306,318,322,326,327,328,329,330,337,344,357,362],linear:49,linebreak:[69,343],lineeditor:326,lineend:343,lineno:38,linenum:326,liner:279,linereceiv:[287,290],linesend:296,lingo:[57,86,105,135],linguist:344,link:[2,3,4,9,14,17,18,20,22,25,29,31,33,37,39,40,46,48,49,51,54,55,57,63,64,69,70,72,85,89,90,96,98,105,111,119,121,123,124,128,131,133,134,139,144,148,159,164,192,234,241,242,247,256,265,267,278,282,287,290,318,343,344,364],link_ok:241,linklock:241,linknam:54,linkref:38,linktext:38,linod:90,linux:[4,8,9,23,25,38,64,67,72,75,87,90,93,97,100,106,131,209,344],linuxtopia:57,liquid:318,list:[0,1,2,3,4,6,7,11,12,13,14,15,20,22,23,25,27,31,33,34,37,39,40,41,43,45,46,48,49,51,54,55,57,58,59,60,61,63,66,68,69,70,72,73,74,76,77,79,80,82,85,86,88,89,90,91,93,94,95,96,97,98,102,103,105,106,109,110,111,112,113,114,116,118,119,121,123,124,125,128,129,131,133,134,135,137,138,139,144,146,148,151,152,153,154,156,157,158,159,164,165,166,167,169,170,175,176,177,179,180,181,182,183,187,188,189,190,192,193,195,196,198,199,202,203,204,205,206,209,210,215,217,218,219,220,221,226,230,231,232,235,238,241,242,246,247,251,252,257,258,259,261,265,267,272,273,277,279,281,283,285,286,291,296,299,308,310,312,315,316,317,318,319,321,322,323,324,325,328,330,337,338,341,344,362,363],list_attribut:159,list_callback:193,list_channel:164,list_displai:[145,173,237,244,254,263,315],list_display_link:[173,237,244,254,263],list_filt:[244,315],list_nod:328,list_of_all_rose_attribut:11,list_of_all_rose_ndb_attr:11,list_of_lycanthrop:119,list_of_myscript:102,list_prototyp:251,list_select_rel:[173,237,244,254,263],list_set:267,list_styl:156,list_task:193,list_to_str:344,listabl:[43,159],listcmdset:[43,159],listcmset:[43,159],listen:[2,12,34,41,43,67,80,103,105,124,137,139,164,175,205,206,226,241,362,364],listing_contact:54,listobj:[43,169],listobject:[43,169],listscript:[43,169],listview:362,lit:[232,233],liter:[13,20,38,43,57,66,94,109,165,321,340,344],literal_ev:[51,315,328,344],littl:[0,4,9,10,15,20,21,25,28,33,34,38,41,42,57,58,60,64,69,70,71,85,90,91,96,100,102,109,110,111,117,118,119,125,131,134,136,138,139,218,230,233,302,316,328,344,357],live:[8,23,38,60,63,67,70,79,90,100,106],ljust:321,lne:215,load:[6,11,12,13,15,26,29,31,33,43,44,50,51,56,57,58,60,61,69,73,82,83,97,103,106,109,111,121,123,127,136,137,138,148,153,165,166,169,177,187,195,205,239,242,246,247,256,260,271,274,276,307,316,318,319,322,323,326,335,338,339,342,344,355],load_buff:326,load_data:323,load_kwarg:339,load_module_prototyp:251,load_sync_data:307,loader:[51,318,344],loadfunc:[50,326,339],loc:[43,159],local0:67,local:[23,25,36,37,47,59,62,64,67,72,76,97,100,103,106,114,131,133,138,192,195,206,252,290,316],localecho:90,localevenniatest:342,localhost:[3,4,9,23,24,63,67,69,75,90,95,133,134,135,137,296],localstorag:138,locat:[0,2,4,6,8,9,11,12,13,20,21,25,27,30,31,33,35,38,39,43,46,47,48,49,51,57,58,59,63,64,66,73,74,77,80,85,89,90,91,96,100,102,103,109,111,112,114,117,118,119,121,122,123,125,127,128,131,133,135,136,137,140,144,150,159,165,169,175,176,180,181,182,187,203,206,212,231,233,235,241,246,247,252,296,305,316,317,318,319,322,324,328,330,337,341],location_nam:235,location_set:119,locations_set:[119,246],locattr:[232,241],lock:[4,6,10,12,19,20,21,22,23,25,28,29,31,33,34,39,41,44,45,47,48,53,58,60,62,68,71,82,85,89,90,96,104,109,110,112,123,125,133,138,139,141,142,144,145,154,156,157,158,159,164,165,166,168,169,170,171,175,177,179,180,181,182,185,186,187,189,192,193,195,196,199,202,203,206,212,214,226,231,232,233,235,237,239,246,247,251,252,312,316,318,324,326,328,338,345,364],lock_definit:242,lock_func_modul:[80,242],lock_storag:[154,156,157,158,159,164,165,166,167,168,169,170,171,177,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,247,316,318,326,328,329],lockabl:[58,212],lockablethreadpool:312,lockdown:[80,316],lockdown_mod:90,lockexcept:242,lockfunc1:80,lockfunc2:80,lockfunc:[25,33,43,53,80,104,121,141,142,159,164,240],lockhandl:[11,48,80,125,141,142,154,180,234,240,241],lockset:247,lockstr:[4,11,33,43,80,97,109,159,164,166,175,177,212,241,242,247,252,316,324],locktest:136,locktyp:[152,164,252],log:[2,4,5,6,8,10,11,12,20,21,23,24,25,33,34,35,36,39,43,44,45,47,51,53,55,57,58,59,60,63,64,65,66,67,71,72,73,74,75,76,83,86,89,90,93,94,100,101,102,105,106,107,110,111,114,121,122,123,128,130,131,133,134,135,137,138,144,153,157,171,175,181,186,188,209,210,247,256,260,267,272,276,277,281,284,285,287,290,298,299,300,306,308,310,312,318,324,337,344,362,364],log_dep:[27,337],log_depmsg:337,log_dir:[175,209,337],log_err:[27,337],log_errmsg:337,log_fil:[27,175,337],log_file_exist:337,log_info:[27,337],log_infomsg:337,log_msg:337,log_sec:337,log_secmsg:337,log_serv:337,log_trac:[27,102,118,120,337],log_tracemsg:337,log_typ:337,log_typemsg:337,log_warn:[27,337],log_warnmsg:337,logdir:36,logentry_set:148,logfil:[267,337,362],logged_in:105,loggedin:285,logger:[27,53,102,118,120,141,142,209,279,320],logic:[0,4,10,39,41,42,44,49,69,97,111,134,205,246,250,271,316,328,345],login:[2,4,7,9,25,33,35,43,51,55,69,70,80,90,97,101,105,107,131,133,139,144,156,171,186,242,271,272,287,290,295,296,299,308,344,349,351,360,364],login_func:299,loginrequiredmixin:362,logintest:360,logout:[298,299,360],logout_func:299,logouttest:360,logprefix:[277,287,290,312],lone:[43,61,111,159,166],long_descript:54,long_running_funct:10,long_text:52,longer:[0,21,25,29,33,41,43,50,52,54,58,69,79,86,91,102,115,124,125,126,129,152,157,175,182,205,206,213,217,218,219,220,221,257,260,326,330],longest:[27,206],longrun:33,loo:[154,170],look:[0,3,4,6,9,10,11,12,13,14,15,16,17,19,20,21,22,23,25,26,27,29,30,31,33,35,36,37,38,39,40,41,42,44,46,48,49,51,55,57,58,60,61,62,63,64,67,68,69,70,71,73,74,75,76,77,80,81,82,83,85,86,87,88,89,90,91,94,96,97,100,103,105,108,109,110,111,112,114,116,117,118,119,121,122,124,125,126,127,131,133,134,135,136,138,139,144,146,151,153,154,156,159,165,167,170,171,181,182,186,187,188,194,202,203,205,206,215,219,226,230,232,233,235,238,241,242,244,246,247,249,252,272,287,288,295,299,316,318,322,328,329,330,338,341,343,344,357,364],look_str:144,lookaccount:58,lookat:33,looker:[49,58,60,123,144,182,187,206,235,241,247,318],lookm:33,lookstr:247,lookup:[11,33,43,80,86,97,112,119,150,165,209,246,286,319,321,333,334,340,341,344,345],lookup_typ:340,lookup_usernam:51,lookuperror:321,loom:111,loop:[0,5,6,11,21,46,49,55,60,64,69,85,93,96,116,118,119,124,125,141,146,217,252,285],loopingcal:270,loos:[14,37,144,164,182,221,238,287,298,322],loot:61,lop:119,lore:[58,166],lose:[11,56,61,100,105,110,116,123,138,209,219,278,279,287,290],lost:[0,38,39,43,56,79,91,110,111,125,135,139,164,213,264,277,278,279,287,290,295,316,321],lot:[0,4,10,13,15,22,26,27,28,34,37,39,41,42,46,53,55,57,58,59,61,62,63,67,69,70,73,79,80,86,90,91,93,95,96,108,109,111,112,114,119,121,123,125,127,131,133,135,138,180,184,186,188,206,214,218,232,235,312],loud:21,love:137,low:[31,40,46,66,90,95,152],lower:[2,10,19,25,29,31,33,41,43,49,51,58,62,80,85,86,90,93,114,122,137,151,152,156,167,169,206,272,321],lower_channelkei:41,lowercas:[95,154,321],lowest:[66,90,241,321],lpmud:129,lpthw:77,lsarmedpuzzl:203,lspuzzlerecip:203,lst:[49,324],lstart:50,lstrip:[91,119,321],ltto:114,luc:327,luciano:79,luck:[8,51,91,96],luckili:[60,80,111,127,131],lue:[114,321],lug:55,lunch:46,luxuri:[112,314],lycanthrop:119,lying:111,m2m:319,m2m_chang:107,m_len:344,mac:[9,23,24,38,64,93,100,106,131,344],machin:[13,25,100,106,131,231],macport:[63,131],macro:[4,116],macrosconfig:4,mad:131,made:[3,11,19,20,21,25,26,35,36,38,43,51,56,58,59,61,79,80,90,96,98,103,104,109,111,121,123,131,134,150,152,169,175,179,182,188,215,219,220,221,242,260,269,313,321,322,326,328,344],mag:[60,127,327],magazin:79,mage:[51,70],mage_guild_block:51,mage_guild_welcom:51,magenta:126,magic:[30,60,61,80,112,121,122,140,179,190,220,269],magic_meadow:112,magicalforest:140,magnific:51,mai:[0,4,6,8,9,10,11,13,19,20,21,23,25,27,28,29,31,33,34,37,38,40,41,42,43,48,51,54,56,57,60,62,63,64,66,67,69,70,71,73,75,77,79,80,81,83,84,86,87,88,89,90,93,94,95,96,97,100,102,103,104,105,106,108,109,110,111,114,115,116,118,119,120,123,125,127,128,130,131,133,134,135,136,144,146,150,151,152,154,156,157,159,164,166,169,170,175,176,178,179,181,182,184,188,190,205,206,217,218,219,220,221,232,233,241,242,247,251,252,253,269,299,306,308,309,313,315,316,318,319,321,323,324,325,326,328,330,331,338,341,344,362],mail:[9,34,37,51,55,57,60,61,70,79,93,116,128,141,142,176,177,178,241,363],mailbox:[34,199],maillock:241,main:[13,14,15,20,21,22,30,31,33,34,37,40,43,49,51,54,56,64,68,69,76,79,80,81,83,84,85,86,89,90,91,92,100,104,105,109,110,112,115,116,119,122,124,125,131,133,134,135,137,138,139,144,145,148,150,156,159,164,166,170,175,177,180,188,195,199,205,206,235,239,246,252,254,256,267,271,272,274,279,284,286,291,305,307,312,318,319,328,329,332,341,343,344],mainli:[10,12,33,34,43,51,57,79,83,89,93,96,105,156,236,316,322,344],maintain:[4,19,23,37,41,43,53,56,68,90,93,100,108,115,119,169,171,186,261,363],mainten:[90,103],major:[14,15,23,45,57,60,63,64,119,121,133],make:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,19,22,23,24,25,26,28,29,30,31,33,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,56,59,61,62,63,64,68,70,71,72,73,74,75,77,78,79,80,81,83,85,86,87,89,90,91,93,94,95,96,97,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,124,125,126,128,130,132,133,134,136,137,138,139,140,144,146,148,151,152,153,154,156,157,159,164,167,170,176,179,180,182,187,188,190,196,199,205,206,211,212,213,215,217,218,219,220,223,226,231,232,233,238,241,242,247,251,252,258,261,267,271,279,284,298,299,305,306,308,309,311,312,315,316,317,318,319,321,322,323,324,325,326,328,330,331,334,341,343,344,360,362,363],make_it:344,make_shared_login:351,make_uniqu:152,makeconnect:276,makefactori:287,makefil:38,makeit:298,makemessag:76,makemigr:[36,86,133],male:189,malevol:14,malform:[170,345],malici:103,malign:242,man2x1:108,man:[43,87,90,108,129,165,199,206],mana:[28,30],manaag:237,manag:[2,7,9,11,31,39,40,43,53,56,57,59,80,83,85,86,89,93,96,100,102,105,110,115,119,125,127,128,131,133,138,141,142,143,144,148,164,169,170,172,175,177,202,206,221,233,236,239,243,246,247,251,253,256,261,262,267,274,314,316,318,319,320,323,324,332,335,337,341,344,360,362,364],manager_nam:316,manchest:344,mandat:357,mandatori:[0,22,107,109,129],maneuv:215,mangl:293,mango:203,manhol:[94,287],manhole_ssh:287,mani:[0,1,2,4,5,9,10,11,12,14,15,17,20,26,27,30,31,33,34,38,40,43,44,49,51,55,56,57,58,61,62,63,64,66,68,70,72,73,76,77,85,86,88,89,90,91,93,95,96,98,102,103,104,105,107,108,109,110,111,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,133,134,135,140,148,152,154,159,164,170,177,179,182,186,188,206,213,214,215,219,220,231,234,239,241,242,246,252,256,261,267,281,289,291,310,316,318,319,321,328,329,334,335,337,362],manifest:97,manipul:[0,11,22,31,41,43,44,51,64,86,102,109,123,159,176,187,192,238,247,273,324,329],manner:[14,206,235,247,285,318],manpow:37,manual:[4,6,14,20,21,23,30,33,34,38,40,55,58,60,61,63,68,79,80,85,86,89,90,97,102,109,110,111,114,117,119,121,122,124,125,128,131,134,139,140,141,146,159,215,226,230,234,247,252,259,267,284,291,328,329,363,364],manual_paus:259,manual_transl:205,manytomanydescriptor:[148,177,239,246,256,316,318,319],manytomanyfield:[148,177,239,246,256,316,318,319],map:[0,15,25,39,43,46,51,57,58,61,64,67,87,88,97,100,124,135,138,139,156,164,170,175,183,184,205,206,235,247,251,252,291,316,318,321,327,328,344,364],map_modul:111,map_str:[49,111,235],mapbuild:[141,142,178],mapper:334,mapprovid:235,march:[79,337],margin:17,mark:[13,14,20,21,33,38,43,49,51,58,63,72,76,80,90,95,114,119,131,135,137,138,140,151,158,187,195,204,215,308,316,318,322,327,328,340],mark_categori:215,markdown:[1,4,38,48,54],marker:[13,20,33,43,51,64,87,114,138,164,165,187,189,206,215,247,279,287,290,295,296,316,319,321,327,328,329],market:90,markup:[38,81,114,136,139,141,142,183,320,343],mask:[203,206,210,211],maskout_protodef:203,mass:[61,124,139,364],massiv:[28,55],mast:43,master:[3,7,9,37,38,41,43,46,57,61,63,70,73,95,96,98,100,104,116,118,127,134,135,313],match:[9,11,20,22,27,31,33,39,41,43,44,49,51,57,58,62,68,74,76,80,83,86,87,88,89,91,102,104,105,109,111,112,114,118,119,125,128,131,133,134,135,136,137,138,144,150,151,152,153,154,157,159,164,165,166,168,170,176,180,183,184,187,188,198,199,202,203,206,220,235,238,241,242,247,251,252,258,261,272,273,285,298,308,316,317,318,319,321,326,328,330,339,341,343,344,345,362],match_index:151,matched_charact:188,matcher:51,matches2:86,matchobject:[321,343],mate:64,math:39,mathemat:152,matplotlib:300,matrix:330,matt:102,matter:[0,4,9,11,25,31,36,41,51,57,61,62,63,69,73,76,84,91,95,103,105,107,108,116,117,127,136,152,221,231,246,272,316],matur:[108,128,129],maverick:64,max:[16,25,49,71,114,116,166,188,206,310,337,344],max_damag:219,max_dbref:317,max_depth:344,max_dist:49,max_heal:219,max_l:49,max_length:[49,86,133,206],max_lin:330,max_num:145,max_num_lin:362,max_popular:362,max_rmem:334,max_siz:337,max_valu:[190,357],max_w:49,max_width:49,maxconn:67,maxdelai:[264,278,279],maxdepth:252,maxdiff:[170,352],maximum:[16,39,71,86,91,111,114,144,188,190,217,218,219,220,221,247,252,312,321,328,330,344],maxlengthvalid:144,maxnum:344,maxrotatedfil:337,maxsplit:321,maxthread:312,maxval:344,maxwidth:330,may_use_red_door:109,mayb:[6,9,11,13,14,21,22,25,27,31,33,38,44,48,49,54,61,63,68,69,70,73,82,85,86,90,109,116,119,122,138,140,153,179,198,205,285],mccp:[24,55,74,141,142,262,272,275],mccp_compress:280,meadow:[22,112,140],mean:[0,5,10,11,12,13,14,15,20,22,23,27,28,31,33,34,37,40,41,42,43,46,49,51,55,57,58,60,61,62,64,68,73,74,77,78,80,81,83,84,85,86,87,88,90,93,95,96,97,100,102,103,104,105,110,111,112,113,114,116,117,119,121,122,123,125,126,127,128,131,134,135,136,138,144,146,153,159,185,195,205,232,234,241,247,251,252,257,261,267,291,307,316,318,321,328,330,334,337,340,341],meaning:[154,170],meaningless:123,meant:[16,20,22,31,34,44,54,62,68,76,83,96,102,125,126,137,138,140,152,180,189,206,214,217,218,219,220,221,233,235,247,272,322],meantim:1,meanwhil:96,measur:[90,93,123,151,168,344],meat:133,mech:[124,139,364],mechan:[27,28,33,39,50,51,55,58,61,67,69,73,91,102,109,116,122,123,125,126,139,144,146,150,187,206,220,240,252,261,267,271,277,285,296,307,318,326,329,332,339,362],mechcmdset:21,mechcommand:21,mechcommandset:21,meck:21,media:[16,145,173,237,244,254,263,295,312,315,340,357],median:49,mediat:73,medium:16,mediumbox:276,meet:[25,36,61,122,194,235,311],mele:221,mem:[43,169],member:[9,11,43,70,86,164,165,167,247,344],membership:[4,9,119],memori:[6,12,23,28,31,33,43,56,75,86,90,93,113,125,135,144,169,175,247,260,261,300,310,316,320,329,334,339,344],memoryerror:63,memoryusag:300,memplot:[141,142,262,297],meni:180,mental:126,mention:[6,9,10,11,13,14,15,21,29,33,40,41,49,56,57,61,63,70,74,80,90,102,108,113,115,126,127,153,186],menu:[11,25,31,43,45,46,47,53,54,55,63,65,69,105,106,109,110,123,128,138,139,141,142,159,180,188,214,215,230,248,252,265,267,320,338,364],menu_cmdset:328,menu_data:51,menu_edit:180,menu_login:[141,142,178],menu_modul:328,menu_module_path:328,menu_quit:180,menu_setattr:180,menu_start_nod:214,menu_templ:328,menuchoic:[51,328],menudata:[188,230,249,328],menudebug:[51,328],menufil:328,menunode_fieldfil:188,menunode_inspect_and_bui:85,menunode_shopfront:85,menunode_treeselect:215,menunodename1:51,menunodename2:51,menunodename3:51,menuopt:215,menutre:[51,328],merchant:46,mercuri:108,mere:[117,190],merg:[3,5,22,33,37,43,44,51,57,62,64,97,131,139,150,151,152,153,166,226,233,235,252,256,291,328],merge_prior:328,merger:[5,31,37,111,152,153],mergetyp:[31,51,116,152,226,233,326,328],mess:[11,19,27,38,90,93,131,138,215],messag:[5,6,8,10,13,15,20,21,22,27,28,29,33,34,40,41,43,44,45,46,50,51,52,53,55,58,59,60,61,62,63,64,65,70,71,73,74,76,80,81,82,85,89,90,91,92,95,96,101,102,103,104,105,110,111,113,116,118,119,123,124,127,128,131,132,137,138,139,140,144,146,150,153,154,157,159,164,165,166,170,172,175,176,177,179,180,182,188,189,193,195,199,203,204,206,210,217,218,219,220,221,223,226,228,230,231,232,233,234,241,247,267,269,276,278,279,285,286,287,290,291,293,295,304,306,308,310,312,324,326,328,329,337,341,344],message_rout:137,message_search:176,message_transform:175,messagepath:[139,364],messagewindow:137,meta:[104,125,145,237,244,315,318,334,357],metaclass:[86,96,125,154,318],metadata:[210,269],metavar:234,meteor:82,meter:190,method:[1,2,5,6,9,10,11,22,25,27,28,29,30,31,34,38,39,40,42,46,48,49,51,55,58,59,60,62,64,68,69,73,77,80,83,86,88,89,91,95,96,102,104,105,107,109,111,112,114,115,116,117,118,119,120,121,123,125,127,131,132,133,134,137,139,144,148,150,152,153,154,156,159,160,164,166,167,169,170,173,175,176,177,179,180,184,187,192,195,202,203,204,205,206,209,210,212,217,218,219,220,221,226,228,230,231,232,233,234,235,238,239,241,242,247,260,261,264,269,272,273,274,276,277,278,279,280,285,287,290,293,295,296,299,303,305,306,307,308,310,315,316,318,321,322,324,326,328,329,330,331,334,335,337,338,339,341,342,343,344,362],methodnam:[170,196,211,228,261,293,303,335,342,352,360],metric:[82,205],microsecond:11,microsoft:[63,111],mid:[29,108,121],middl:[29,33,49,90,218,321],middlewar:[141,142,346,348],midnight:[25,62],midst:122,midwai:114,mighht:91,might:[0,4,8,10,11,12,14,15,17,20,22,23,25,26,27,28,29,30,31,33,34,39,40,41,42,43,46,51,52,55,58,60,61,62,63,69,70,73,75,76,77,80,81,82,85,89,90,91,95,96,97,98,100,102,103,104,105,110,111,114,115,116,119,120,122,123,124,126,127,131,132,133,136,138,153,157,159,179,204,210,213,217,218,219,220,234,247,296,318,321,326,337,338,344,357,363],mighti:[29,111],migrat:[9,23,36,38,63,75,86,107,110,111,127,131,133,252],mike:[43,159],mileston:[94,139],million:[23,25,133],mime:324,mimic:[23,34,50,55,73,93,177,306,326],mimick:[50,64,73,138,298,326,329],mimim:319,min:[49,62,102,114,184,188,331],min_damag:219,min_dbref:317,min_heal:219,min_height:330,min_shortcut:[22,180],min_valu:357,min_width:330,mind:[10,12,13,14,37,41,45,51,54,55,56,57,60,61,122,126,134,138,179,190,195,204,269,344],mindex:151,mine:[46,103,138],mini:[55,111,124],miniatur:[61,122],minim:[61,103,105,116,138,205,252],minimalist:[33,58,108],minimum:[22,58,64,73,105,188,217,218,219,220,221,272,312,318,330,339,344],mininum:330,minlengthvalid:144,minor:[41,153,363],mint:[63,67,131],minthread:312,minu:[86,247,331],minut:[25,27,28,43,62,79,91,100,102,116,164,179,184,310,331,344],minval:344,mirc:279,mirror:[72,79,105],mis:57,misanthrop:119,misc:138,miscelan:320,miscellan:47,mislead:41,mismatch:[74,344],miss:[49,57,60,63,70,90,94,95,97,217,218,219,220,221,251,272],missil:[21,220],mission:[41,69],mistak:[38,60,363],misus:90,mit:[79,124,321],mitig:[57,103,362],mix:[11,30,33,34,51,53,114,126,133,144,179,206,247,251,252,311,319,322,330],mixin:[251,301,362],mixtur:81,mkdir:[9,36,63],mktime:62,mob0:56,mob:[14,43,55,56,61,80,105,122,141,142,153,159,178,229,233,252,322],mob_data:56,mob_db:56,mob_vnum_1:56,mobcmdset:231,mobdb:56,mobil:[14,71,109,122,138,231,241],moboff:231,mobon:231,mock:[127,170,260,342],mock_delai:170,mock_get_vers:352,mock_random:228,mock_repeat:170,mock_set:352,mock_tim:303,mockdeferlat:342,mockdelai:342,mocked_idmapp:303,mocked_o:303,mocked_open:303,mockup:138,mockval:342,mod:[8,103,251],mod_import:344,mod_import_from_path:344,mod_prototype_list:251,mod_proxy_http:8,mod_proxy_wstunnel:8,mod_sslj:8,mode:[2,8,31,41,42,43,50,51,67,69,74,79,93,100,103,106,116,117,123,133,135,138,141,158,169,181,199,226,231,247,267,272,277,284,295,296,305,322,326,328,337,344],mode_clos:296,mode_init:296,mode_input:296,mode_keepal:296,mode_rec:296,model:[9,11,34,41,45,59,64,69,73,80,87,96,104,112,115,119,125,132,135,136,139,141,142,143,144,145,172,173,175,176,236,237,243,244,247,253,254,257,261,262,263,273,314,315,316,317,319,320,325,332,333,335,340,341,344,357,362,364],model_inst:340,modeladmin:[173,237,244,254,263,315],modelattributebackend:316,modelbackend:349,modelbas:334,modelchoicefield:244,modelclass:[11,112],modelform:[145,237,244,315,357],modelmultiplechoicefield:[145,237,244],modelnam:[175,239,318],moder:[4,39,179],modern:[10,11,15,30,79,103,108,111,126,138,280],modif:[0,8,25,33,37,46,83,91,100,123,131,138,313,357],modifi:[0,2,4,11,20,22,25,26,31,33,34,38,39,40,43,44,46,51,53,55,56,57,58,60,68,73,78,85,89,93,96,100,104,105,109,110,111,114,118,119,122,123,125,128,131,135,137,138,139,140,144,145,153,166,175,180,185,187,189,195,203,206,213,217,218,219,220,221,232,234,239,247,252,261,318,322,328,334,340,343,357,362],modified_text:114,modul:[3,5,6,11,13,15,20,21,26,27,29,31,33,35,37,38,40,43,45,47,50,51,55,56,57,58,59,60,62,65,68,74,75,80,81,82,83,85,89,93,96,97,98,102,103,104,105,107,108,110,111,114,117,119,121,122,123,124,125,127,135,138,139,150,151,153,154,159,161,162,163,166,168,170,179,180,181,182,183,184,185,186,187,188,190,192,193,194,196,204,205,206,211,212,213,215,217,218,219,220,221,226,231,232,233,234,241,242,246,247,250,251,252,257,259,260,261,264,266,267,271,272,276,284,286,287,290,291,294,296,298,299,300,305,307,308,309,316,318,319,320,321,322,323,324,325,326,327,328,329,331,342,344,364],modular:55,modulepath:276,moifi:187,mollit:52,moment:[21,31,46,57,76,85,91,96,115,135,139,144,256],monei:[9,61,70,86,90,241],monetari:[37,179],monitor:[53,84,88,93,139,257,272,291,334],monitor_handl:[84,141,257],monitorhandl:[45,74,139,141,142,253,364],mono:25,monster:[29,43,57,61,64,89,109,159,252],month:[37,62,67,90,184,331,337,344],monthli:62,montorhandl:84,moo:[55,57,79,108,129],mood:[46,122],moon:[25,61,62,82],moor:122,moral:97,more:[0,1,2,3,4,5,9,10,11,12,13,14,15,17,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,39,40,41,42,43,44,46,49,50,51,52,55,56,58,59,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,79,83,85,86,87,88,89,90,91,93,94,95,96,97,100,102,103,104,105,108,109,110,111,112,113,114,115,116,118,119,121,122,123,124,125,126,127,131,132,133,134,136,137,138,141,143,144,145,148,151,152,153,158,159,164,165,166,169,170,171,175,178,179,180,181,182,184,186,187,190,195,198,204,205,206,213,214,215,217,218,219,220,221,226,231,232,233,234,235,241,244,247,251,252,277,279,282,298,299,308,313,316,317,321,322,324,325,326,327,328,329,330,334,341,344,345,357,362],more_command:329,morennanoth:170,morennthird:170,moreov:[90,102],morn:[187,188],most:[0,4,6,8,9,10,11,13,17,22,23,25,27,30,31,33,35,37,38,39,40,41,42,43,46,47,48,49,51,56,57,58,59,60,61,62,63,64,69,73,74,77,80,82,83,86,88,89,90,91,93,95,96,97,100,103,104,105,107,108,111,113,114,115,116,117,119,121,123,125,126,128,129,133,137,138,140,144,148,152,153,156,159,167,170,177,180,190,205,206,213,217,218,219,220,221,239,241,242,246,247,251,252,256,260,290,295,305,316,317,318,319,328,329,334,335,344,362],mostli:[40,51,57,69,73,90,91,95,114,123,125,137,138,145,152,185,205,219,235,287],motiv:[13,14,37,55,61,70,89,278,279,285,286,287,290,295,296,307,308],mount:100,mountain:[108,111],mous:[114,137,328],move:[0,4,9,14,15,21,22,23,29,33,34,41,43,44,46,49,50,51,52,54,58,61,63,69,77,79,82,85,89,91,95,96,111,116,117,122,126,133,134,138,153,159,165,179,180,188,194,213,217,218,219,220,221,231,232,233,235,238,241,247,299,318,322,329],move_hook:247,move_obj:235,move_to:[0,85,89,121,213,247],movecommand:44,moved_obj:[233,235,247],moved_object:247,movement:[58,109,121,213,217,218,219,220,221,247],mover:221,mptt:4,mratio:[151,168],msdp:[55,83,272,291],msdp_list:272,msdp_report:272,msdp_send:272,msdp_unreport:272,msdp_var:291,msg:[0,2,5,10,11,13,22,25,27,28,29,30,33,38,40,41,42,44,46,50,51,52,53,56,58,59,60,62,71,73,80,82,84,85,86,88,89,91,95,96,105,111,112,114,116,118,119,121,123,127,129,137,138,141,144,146,154,156,160,164,170,173,175,176,177,189,199,210,226,234,242,247,278,279,306,315,322,324,326,328,329,337,344],msg_all:116,msg_all_sess:[33,154],msg_arriv:0,msg_channel:164,msg_content:[0,21,27,33,46,62,73,89,102,118,121,123,132,247],msg_help:166,msg_leav:0,msg_locat:247,msg_other:179,msg_receiv:247,msg_self:247,msg_set:319,msgadmin:173,msglauncher2port:[267,276],msgmanag:[176,177],msgobj:[34,175],msgportal2serv:276,msgserver2port:276,msgstatu:[267,276],mssp:[55,104,141,142,262,275],mt1mywxzzsy5pxri:79,mt1mywxzzsy5pxrydwummte9mtk1jjeypxrydwubb:57,mtt:294,much:[0,4,10,11,13,14,15,20,22,23,25,26,29,37,38,39,41,42,49,51,56,59,61,62,63,64,67,69,73,76,79,80,82,89,90,91,93,94,96,109,111,113,115,116,119,120,121,125,127,132,133,134,138,148,153,158,167,180,184,185,205,206,215,221,226,232,307,316,321,322,323,330,344],muck:57,mud:[8,15,21,22,23,24,30,40,43,49,55,56,60,61,63,64,72,73,74,80,87,88,90,91,92,95,97,98,100,101,104,105,108,110,111,114,115,116,117,122,124,126,128,132,135,137,138,140,148,153,156,221,230,264,280,281,282,287,290,291,294,322,331],mudbyt:79,mudconnector:79,mudderi:79,muddev:63,mudform:327,mudinfo:34,mudlab:79,mudlet:[24,96,101,272,282],mudmast:24,mudramm:24,muhammad:343,mukluk:24,mult:109,multi:[10,22,31,38,43,51,55,61,95,96,100,104,105,119,122,123,151,169,206,215,247,308,328,344],multiaccount_mod:97,multidesc:[141,142,178],multilin:343,multimatch:[31,151,206,247,344],multimatch_str:[144,206,247,344],multimedia:137,multipl:[6,12,14,22,23,27,30,31,33,40,43,51,55,58,61,62,64,73,79,84,88,89,90,95,96,104,105,107,108,109,114,115,122,123,125,131,138,144,150,152,157,158,159,164,166,168,169,170,183,185,186,187,189,190,196,202,206,215,217,218,219,220,233,242,247,251,252,261,265,269,272,276,291,299,315,316,317,322,328,330,341,344],multiplay:[55,57,79],multipleobjectsreturn:[144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,319,331,335],multisess:[2,41,69,328],multisession_mod:[24,33,64,105,123,133,144,156,160,181,189,247,308],multisession_modd:51,multitud:[57,111,114],multumatch:247,mundan:21,murri:344,mus3d1rmfizcy9osxiiita:122,muse:79,mush:[9,36,55,60,73,79,108,116,124,139,183,202,364],mushclient:[24,74,96,272,282],musher:79,mushman:108,musoapbox:[57,79],must:[0,1,2,4,5,8,10,11,15,24,25,29,31,33,37,38,40,43,48,49,50,51,56,58,61,62,63,64,65,67,71,72,74,76,80,81,83,84,85,87,89,90,93,95,96,97,100,103,104,109,110,112,113,114,115,116,117,119,123,125,127,128,131,133,135,136,137,140,146,151,152,154,159,164,170,175,176,179,182,183,184,186,203,205,206,210,215,217,218,219,220,221,226,230,232,233,239,241,247,250,251,257,261,267,272,285,287,290,307,309,310,315,316,317,318,321,322,323,324,325,326,327,328,329,331,338,339,340,341,343,344,345,362],must_be_default:153,mutabl:325,mute:[17,41,144,164,175],mute_channel:164,mutelist:[41,175],mutltidesc:202,mutual:[226,317],mux2:129,mux:[20,21,33,34,41,45,55,58,103,108,139,141,142,149,167,183,240,364],mux_color_ansi_extra_map:183,mux_color_xterm256_extra_bg:183,mux_color_xterm256_extra_fg:183,mux_color_xterm256_extra_gbg:183,mux_color_xterm256_extra_gfg:183,muxaccountcommand:[167,199],muxaccountlookcommand:156,muxcommand:[5,25,28,29,30,33,44,53,58,119,123,141,142,149,155,156,157,158,159,164,165,166,168,169,171,182,185,186,187,193,199,202,203,212,214,219,220,233,247,326],mvattr:159,mxp:[24,55,74,114,141,142,262,272,275,287,290,321,328,343,344],mxp_pars:282,mxp_re:321,mxp_sub:321,my_callback:309,my_datastor:86,my_funct:29,my_github_password:131,my_github_usernam:131,my_identsystem:87,my_number_handl:51,my_object:29,my_port:40,my_portal_plugin:40,my_script:102,my_server_plugin:40,my_servic:40,my_word_fil:205,myaccount:112,myapp:86,myarx:9,myattr:[11,144],myawesomegam:67,mybot:[43,164],mycallable1:51,mycar2:87,mychair:112,mychan:34,mychannel1:164,mychannel2:164,mychannel:[12,43,164],mycharact:81,mychargen:51,myclass:60,mycmd:[33,68],mycmdset:[5,31,33],mycommand1:31,mycommand2:31,mycommand3:31,mycommand:[30,31,33,83,170],mycommandtest:170,mycompon:137,myconf:36,mycontrib:127,mycss:137,mycssdiv:137,mycustom_protocol:40,mycustomcli:40,mycustomview:135,mydatastor:86,mydhaccount:100,mydhaccountt:100,mydhacct:100,myevennia:72,myevilcmdset:[31,152],myevmenu:51,myfix:131,myfunc:[10,115,127,344],myfunct:51,mygam:[2,3,5,6,9,13,14,21,23,25,26,27,30,31,35,40,42,44,47,49,51,53,54,56,57,58,60,62,63,65,67,69,71,73,74,75,76,80,81,82,85,86,89,90,93,95,96,100,102,104,106,109,110,111,114,116,118,119,120,121,123,125,127,128,131,133,134,135,136,137,180,181,183,187,199,202,212,213,292,342,344],mygamedir:38,mygamegam:81,myglobaleconomi:102,mygotocal:51,mygrapevin:164,myhandl:107,myhdaccount:100,myhousetypeclass:[43,159],myinstanc:86,myircchan:[43,164],mykwarg:51,mylayout:137,mylink:38,mylist2:11,mylist:[6,11,97,318],mylog:27,mymenu:51,mymethod:56,mymodul:115,mymud:[8,106],mymudgam:90,mynam:100,mynestedlist:325,mynod:51,mynoinputcommand:33,mynpc:123,myobj1:112,myobj2:112,myobj:[11,27,80,102,261],myobject:[5,11],myobjectcommand:25,myothercmdset:31,myownfactori:40,myownprototyp:109,mypassw:186,mypath:127,myplugin:137,myproc:40,myproc_en:40,myprotfunc:109,myroom:[43,56,102,112,159],myros:89,myscript:[102,112,125],myscriptpath:102,myserv:186,myservic:40,mysess:105,mysql:[36,55,64,128,344],mysqlclient:23,mysteri:[75,87],mytag1:137,mytag2:137,mythic:122,mytick:261,mytickerhandl:261,mytickerpool:261,mytop:20,mytup1:11,mytup:11,myvar:33,myview:135,naccount:308,naiv:[175,235,239,318],nake:33,name1:[43,159],name2:[43,159],name:[0,2,3,4,5,6,9,10,11,13,14,15,19,20,22,23,24,25,29,31,33,34,36,38,40,41,42,44,46,47,49,51,52,53,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,71,72,73,74,75,76,79,80,81,82,83,84,85,86,87,89,90,91,93,95,96,100,102,103,104,105,106,107,109,110,111,112,113,114,116,117,119,121,123,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,144,146,148,150,151,152,153,154,156,157,159,164,165,166,167,168,169,170,171,175,176,177,180,181,182,184,186,188,192,194,195,198,203,204,205,206,212,215,219,220,231,233,234,235,238,239,240,246,247,251,252,256,257,259,261,267,270,272,273,274,276,277,279,284,287,290,291,294,295,296,299,310,312,315,316,317,318,319,321,322,323,324,326,327,328,329,334,335,337,338,340,341,343,344,345,349,357,362],namecolor:215,namedtupl:192,nameerror:[42,95],namelist:199,namesak:97,namespac:[69,125,137,195,234,252,310,322],napoleon:38,narg:[114,234],narr:221,narrow:91,nativ:[34,38,42,51,88,102,209,310,312,362],nattempt:51,nattribut:[11,43,51,116,125,159,252,306,316,318,324,328],nattributehandl:316,natur:[11,15,27,55,79,88,112,146,330],natural_height:330,natural_kei:316,natural_width:330,navig:[9,48,49,51,106,111,128,133,134,221,362],naw:[24,52,141,142,262,275],nbsp:343,nchar:120,nclient:298,ncolumn:330,ncurs:141,ndb:[6,13,22,25,29,33,43,51,102,105,116,125,144,148,169,246,256,306,318,328],ndb_:[43,109,159,252],ndb_del:306,ndb_get:306,ndb_set:306,ndk:75,nearbi:[119,152,153,154,221],nearli:321,neat:[0,3,138,357],neatli:[108,344],necess:[40,95],necessari:[0,4,22,36,39,40,51,57,58,59,61,77,91,108,110,114,118,121,125,131,138,153,154,177,181,195,210,233,234,251,252,296,315,322,328,330,338,340,344],necessarili:[38,41,57,88,90,109,344],necessit:309,neck:[109,182],necklac:182,need:[1,2,3,4,5,6,8,9,10,11,13,14,15,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,130,131,133,134,135,136,137,138,140,144,146,148,152,154,156,159,164,165,167,169,170,175,179,180,186,187,189,193,194,195,196,203,204,205,206,215,217,218,219,220,221,226,231,232,233,234,235,241,242,246,247,251,252,267,269,271,272,276,284,291,296,298,306,307,308,312,315,316,318,321,322,324,328,329,330,331,338,339,341,344,362],need_gamedir:267,needl:203,neg:[62,126,152,326,344],negat:[114,119,242],negoti:[55,179,281,283,285,294,308],negotiate_s:283,neighbor:39,neither:[11,54,61,73,97,110,185,251,291,316,319,328,345],nenter:51,nest:[11,14,33,43,51,114,144,159,206,215,241,247,252,291,325],nested_mut:11,nested_r:159,nestl:111,net:[9,43,57,63,70,72,79,90,146,164,280,281,291,294,308],netrc:131,network:[40,43,53,55,64,65,70,71,72,79,90,103,113,139,146,164,278,279,284,305,308],neu:180,neutral:189,never:[12,14,26,27,31,33,51,54,56,60,61,62,64,80,86,88,91,95,96,104,114,115,118,119,121,125,127,131,133,144,194,205,206,220,221,231,242,247,306,316,325,344],nevertheless:[26,43,51,86,126,156,180],new_alias:154,new_arriv:233,new_attrobj:316,new_channel:[58,164],new_charact:231,new_coordin:235,new_datastor:86,new_goto:328,new_kei:[107,154,247],new_loc:[43,159],new_menu:180,new_nam:[43,107,159],new_name2:[43,159],new_obj:[80,247,252],new_obj_lockstr:159,new_object:[109,252],new_raw_str:151,new_room_lockstr:159,new_ros:89,new_script:102,new_typeclass:[144,318],new_typeclass_path:125,new_valu:[84,316],newbi:[25,48,55,124],newcom:[96,117],newer:9,newindex:215,newli:[43,46,58,60,66,131,133,159,175,180,199,204,234,247,252,259,324],newlin:[33,43,137,166,322,330],newnam:[33,43,159,318],newpassword:[43,157],newstr:137,nexist:22,nexit:[120,127],next:[0,4,5,6,9,10,11,12,13,14,20,21,22,23,25,28,29,30,31,33,36,38,39,41,42,46,49,50,51,52,56,58,60,61,62,64,65,68,72,73,75,76,77,79,80,81,83,85,86,89,90,95,96,98,100,102,103,106,110,111,114,116,119,121,122,123,127,131,133,134,137,138,180,184,202,215,217,218,219,220,221,232,242,267,322,328,329,331,344,362],next_nod:51,next_turn:[217,218,219,220,221],nextrpi:79,nexu:45,nfkc:144,ng2:330,nginx:8,nice:[0,12,22,27,49,54,58,61,62,68,70,81,90,96,100,111,119,127,138,140,159,179,182,206,251],nicer:[20,60,96],niceti:[43,159],nick:[2,11,45,57,74,79,89,129,139,144,146,159,164,165,175,206,241,246,247,279,316,317,364],nick_typ:87,nickhandl:[11,87,316],nicklist:[146,164,279],nicknam:[43,87,89,129,131,165,206,246,247,279,316,317],nickreplac:316,nicktemplateinvalid:316,nicktyp:[206,247],nifti:8,night:[58,61,132,138,187],nine:66,nineti:345,nit:[60,62],nline:337,nmrinwe1ztfhlmpwzyisindpzhroijoipd02mdaifv1dlcjhdwqiolsidxjuonnlcnzpy2u6aw1hz2uub3blcmf0aw9ucyjdfq:122,no_act:328,no_channel:[31,33,152,328],no_default:[125,144,318],no_exit:[31,33,116,152,226,230,328],no_gmcp:291,no_log:153,no_match:180,no_mccp:280,no_more_weapons_msg:232,no_msdp:291,no_mssp:281,no_mxp:282,no_naw:283,no_obj:[31,152,226,230,328],no_prefix:[144,175],no_superuser_bypass:[144,175,242,247,318],no_tel:80,noansi:170,nobj:120,nocaptcha:133,nocaptcha_recaptcha:133,nocolor:[81,272,287,290,295,296],nodaemon:106,node1:[51,328],node2:[51,328],node3:[51,328],node:[13,85,109,188,215,230,249,265,328],node_abort:51,node_apply_diff:249,node_attack:51,node_background:51,node_betrayal_background:51,node_border_char:328,node_destin:249,node_examine_ent:249,node_exit:51,node_formatt:[51,188,328],node_four:51,node_game_index_field:265,node_game_index_start:265,node_hom:249,node_index:[249,328],node_kei:249,node_loc:249,node_login:51,node_matching_the_choic:51,node_mssp_start:265,node_mylist:51,node_on:51,node_parse_input:51,node_password:51,node_prototype_desc:249,node_prototype_kei:249,node_prototype_sav:249,node_prototype_spawn:249,node_readus:51,node_select:51,node_set_nam:51,node_start:265,node_test:51,node_text:51,node_usernam:51,node_validate_prototyp:249,node_view_and_apply_set:265,node_view_sheet:51,node_violent_background:51,node_with_other_nam:328,nodefunc1:51,nodefunc2:51,nodefunc:328,nodekei:328,nodenam:[51,328],nodename_to_goto:51,nodestartfunc:51,nodetext:[51,188,249,328],nodetext_formatt:[51,188,249,328],noecho:[43,169],noerror:247,nofound_str:[144,206,247,344],nogoahead:289,nohom:324,nois:21,noisi:[90,264,269,277,287,290,312],noloc:[43,159],nomarkup:[74,81],nomatch:[22,168,180,326,344],nomatch_exit:22,nomatch_single_exit:22,nomigr:127,nomin:362,non:[4,6,14,15,20,22,27,29,31,33,38,43,44,49,50,52,55,58,61,62,63,64,65,68,70,74,82,86,88,102,105,109,110,114,122,124,125,126,131,137,139,140,144,146,148,150,152,159,164,169,175,177,185,195,204,212,214,215,232,238,246,247,250,251,252,256,257,259,261,267,276,290,291,305,306,308,316,318,321,324,325,326,328,330,341,344],nonc:295,nondatabas:[11,306,318],none:[0,1,2,10,11,13,14,15,22,25,30,31,33,34,39,40,41,42,43,44,49,50,51,56,58,60,62,64,69,74,77,80,81,83,84,85,86,87,88,91,96,102,105,111,112,114,116,118,119,121,123,144,145,146,150,151,152,153,154,156,159,160,161,162,163,164,166,167,170,173,175,176,177,179,180,181,182,185,187,188,189,192,194,195,198,203,204,205,206,212,214,215,217,218,219,220,221,226,230,231,232,233,234,235,237,238,241,242,244,246,247,249,251,252,254,257,258,260,261,264,265,267,269,273,276,277,278,279,286,287,295,296,306,307,308,310,311,312,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,339,340,341,344,345,349,352,357,362],nonpc:123,nonsens:205,noon:[20,60,73,76,80,96],nop:290,nopkeepal:[24,290],nor:[11,13,29,31,42,54,106,108,116,126,185,186,234,247,251,291,316,319],norecapcha:133,norecaptcha_secret_kei:133,norecaptcha_site_kei:133,norecaptchafield:133,normal:[2,3,5,6,9,10,11,13,14,15,19,20,21,23,25,27,29,30,31,33,34,38,43,44,46,49,51,55,56,57,58,60,62,64,66,68,69,72,74,75,76,80,81,82,83,85,86,87,88,90,93,96,97,100,102,104,105,109,110,111,112,113,114,116,119,121,122,123,125,126,127,128,134,135,137,138,140,144,146,148,150,151,152,153,154,156,159,166,169,170,175,179,184,185,217,218,219,220,221,226,231,234,235,246,247,249,252,261,267,276,279,280,281,283,285,299,306,308,314,316,317,318,321,322,325,328,329,334,341,343,344,346],normal_turn_end:116,normalize_nam:247,normalize_usernam:144,north:[0,20,22,43,44,46,49,89,111,114,121,159,180,213,299],north_south:111,northeast:[20,43,159,235],northern:[22,111],northwest:159,nose:316,not_don:312,not_error:267,not_found:159,notabl:[6,9,10,40,43,63,97,131,154,159,170,179,318,325,344],notat:[43,119,159,321,344],notdatabas:125,note:[0,1,2,4,5,6,9,11,12,13,19,20,21,23,24,25,27,29,41,42,43,48,49,57,58,59,60,61,62,63,64,69,70,73,74,75,76,80,83,85,86,88,89,90,93,94,95,96,100,102,103,105,106,107,109,110,113,114,115,116,117,119,121,123,124,125,126,128,130,131,133,134,135,136,137,141,144,146,151,152,153,154,156,159,160,161,164,165,166,167,169,170,171,175,176,179,181,182,183,184,185,186,187,189,194,195,198,202,203,204,205,206,212,213,215,217,218,219,220,221,226,233,234,235,241,242,246,247,251,252,261,264,267,272,276,277,279,280,284,285,286,287,290,291,292,294,295,298,300,301,306,308,312,313,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,339,340,341,344,350,364],notepad:63,notfound:344,notgm:58,noth:[0,10,11,14,20,22,27,29,33,34,42,56,57,60,62,83,85,89,95,108,111,115,116,127,144,159,168,215,217,220,221,231,235,247,259,279,316,318,328],nother:120,notic:[0,10,12,13,20,22,23,29,33,36,37,39,41,42,46,62,69,70,91,96,117,121,126,127,131,180,223,280,362],notif:[4,75,131,137,138,199],notifi:[43,98,164,217,218,219,220,221,233,251],notificationsconfig:4,notimplementederror:290,notion:[62,115,116],noun:[205,206],noun_postfix:205,noun_prefix:205,noun_transl:205,now:[0,2,3,5,6,9,10,11,12,14,20,21,22,23,25,27,28,29,31,33,36,39,41,46,48,49,51,55,56,57,58,60,61,62,63,64,65,67,69,71,72,73,75,76,77,79,80,81,82,83,85,86,89,90,91,95,96,97,98,100,102,103,105,106,108,109,110,111,114,115,117,118,119,121,123,125,126,127,128,131,133,134,135,136,137,138,140,153,164,166,179,184,188,195,215,226,235,242,247,279,287,308,340,342,344],nowher:[95,111],noxterm256:290,npc:[9,33,46,51,61,64,73,111,119,124,139,179,214,241,364],npcname:118,npcshop:85,nprot:120,nr_start:258,nroom:[22,120],nroom_desc:127,nrow:330,ntf:63,nthe:226,nuanc:114,nudg:[78,226,312],nuisanc:103,nulla:52,num:[49,80,206,247],num_lines_to_append:337,num_object:119,num_objects__gt:119,num_tag:119,number:[0,6,10,11,12,13,20,21,23,25,26,27,31,33,34,36,38,41,43,49,50,51,57,58,60,61,62,64,71,73,77,81,85,87,90,93,95,96,97,98,100,102,104,105,107,111,112,114,115,116,119,120,122,123,125,127,131,134,135,140,141,144,146,151,152,153,157,159,164,165,166,176,177,182,184,185,188,190,192,194,195,198,204,205,206,215,217,218,219,220,221,247,251,252,258,265,267,272,278,279,281,285,298,308,310,312,316,317,319,321,322,324,326,328,329,330,331,334,337,341,344,357],number_of_dummi:267,number_tweet_output:120,numbertweetoutput:120,numer:[61,73,97,190,321],numpi:300,o_o:138,obelisk:232,obfusc:[205,206],obfuscate_languag:[205,206],obfuscate_whisp:[205,206],obj1:[11,43,80,97,109,159,203,221],obj2:[11,43,80,97,109,127,159,203,221,322],obj3:[11,43,109,159],obj4:11,obj5:11,obj:[2,6,10,11,22,25,27,31,33,41,42,43,48,56,58,59,60,80,82,84,86,87,89,91,96,102,109,112,115,117,119,121,125,127,139,144,145,152,153,154,157,159,165,167,169,170,173,176,180,182,187,188,189,192,194,195,198,199,203,206,215,217,218,219,220,221,226,232,233,235,241,242,244,246,247,252,254,256,257,258,296,298,299,306,315,316,317,318,319,322,324,325,329,339,340,341,344],obj_desc:220,obj_detail:233,obj_kei:220,obj_prototyp:252,obj_to_chang:125,obj_typeclass:220,objattr:[232,241],objclass:[334,344],object1:33,object2:[33,179,247],object:[0,2,9,10,12,13,14,15,18,19,21,22,23,26,29,30,31,33,34,36,38,39,40,41,42,44,45,46,47,49,50,51,52,53,55,56,57,58,62,69,73,74,77,79,81,83,84,85,86,87,88,91,93,95,102,103,104,107,108,109,110,114,115,116,117,118,120,122,123,125,127,129,132,133,134,135,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,156,157,158,159,160,161,164,165,167,169,170,171,173,175,176,177,178,179,180,181,182,186,187,188,189,192,193,194,195,196,198,199,203,204,206,209,210,211,212,213,214,215,217,218,219,220,221,223,226,229,230,231,233,234,235,237,238,239,241,242,249,250,251,252,253,254,256,257,258,259,260,261,265,267,269,271,272,273,274,276,277,280,281,282,283,284,285,286,287,289,291,294,296,298,299,305,306,307,308,310,311,312,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,334,335,338,339,340,341,342,343,344,345,349,351,357,360,362,364],object_confirm_delet:362,object_detail:362,object_from_modul:344,object_id:134,object_search:134,object_subscription_set:246,object_tot:317,object_typeclass:[342,360],objectattributeinlin:244,objectcr:357,objectcreateform:244,objectcreateview:362,objectdb:[11,53,59,96,112,119,120,125,133,141,244,246,247,252,314,315,316,324,329,341],objectdb_db_attribut:244,objectdb_db_tag:[244,315],objectdb_set:[148,316,319],objectdbadmin:244,objectdbmanag:[245,246],objectdeleteview:362,objectdetailview:362,objectdoesnotexist:[148,177,239,246,256,274,316,319,335],objecteditform:244,objectform:357,objectmanag:[245,247,317],objectnam:[6,58],objects_objectdb:86,objectsessionhandl:[2,247],objecttaginlin:244,objectupd:357,objectupdateview:362,objid:80,objlist:109,objlocattr:[232,241],objmanip:[43,159],objmanipcommand:159,objnam:[27,43,125,159],objparam:252,objs2:112,objsparam:252,objtag:241,objtyp:176,obnoxi:269,obs:318,obscur:[48,72,82,205,206],observ:[13,14,20,43,81,88,159,165,187,206,223,233,291,322,344],obtain:[0,33,39,63,77,90,91,93,100,180,232],obviou:[0,59,61,103,121,128,138,190,362],obvious:[0,4,14,49,55,105,108,121,319],occaecat:52,occas:128,occasion:[90,119],occation:330,occur:[9,10,25,33,42,57,60,102,137,168,204,219,234,242,247,260,299,328,337],occurr:[46,91,123,321],ocean:[90,122],ocw:124,odd:[22,49,61,103,126],odor:58,off:[0,11,14,20,23,24,29,31,33,36,40,41,43,49,50,51,55,61,64,66,74,80,81,86,88,90,100,103,107,108,110,114,115,122,123,126,135,138,139,144,154,164,169,170,175,182,188,206,226,231,233,242,247,272,280,287,290,306,318,321,322,324,326,328,329,330,337,345],off_bal:29,offend:12,offer:[1,4,11,14,22,26,28,31,33,34,37,39,40,43,44,50,51,55,56,57,59,62,64,72,73,74,76,83,86,87,89,90,91,96,102,106,108,109,111,114,115,116,123,124,127,128,129,131,132,137,138,144,152,153,158,159,166,169,179,180,187,205,233,249,257,308,328],offernam:179,offici:[38,72,100,103,127,131,337],officia:52,offlin:[9,15,79,90,109,158,164,322],offscreen:9,offset:[206,326,337],often:[2,5,10,11,15,22,26,28,31,33,40,41,42,43,46,48,49,51,57,59,61,62,64,76,86,88,90,91,93,95,96,97,102,103,104,105,112,114,115,116,119,128,131,146,152,157,167,169,175,180,215,217,218,219,220,221,242,246,256,258,267,272,286,306,316,318,322,324,330,337,344],ohloh:37,okai:[41,42,48,49,51,58,75,77,111,123,128,198],olc:[43,47,159,249,252],olcmenu:249,old:[0,1,5,9,21,25,27,31,38,39,43,50,51,55,56,58,60,63,80,81,85,88,90,105,106,111,114,122,123,125,126,128,138,144,152,153,156,159,179,206,242,247,252,276,317,318,321,324,363],old_default_set:127,old_kei:[107,247],old_nam:107,older:[2,9,24,55,63,64,79,105,159],oldnam:318,oliv:114,omiss:60,omit:[91,100,109],on_:180,on_bad_request:269,on_ent:[22,180],on_leav:[22,180],on_nomatch:[22,180],onbeforeunload:[83,137],onbuild:100,onc:[0,2,5,6,9,10,13,16,21,22,23,25,33,34,37,38,39,40,41,42,43,46,47,49,51,55,57,58,60,61,62,63,64,67,72,79,80,83,85,89,90,93,95,96,97,100,102,105,108,114,116,119,121,122,125,126,128,131,133,137,144,146,151,154,159,164,167,170,175,179,180,188,189,195,199,203,205,212,215,217,218,219,220,221,223,226,231,232,233,234,235,247,251,256,259,272,277,290,294,305,316,321,328,329,337,342,344],onclos:[40,278,295],onconnectionclos:[83,137],oncustomfunc:83,ond:319,ondefault:83,one:[0,1,2,3,4,5,9,10,11,12,13,14,15,16,19,20,21,22,23,25,26,27,28,29,31,33,34,35,36,37,38,41,42,43,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,70,72,73,74,76,77,79,80,81,82,83,85,86,87,88,89,90,91,92,93,95,96,97,98,100,102,103,104,105,106,108,109,111,112,113,114,115,116,118,119,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,143,144,148,151,152,153,154,156,157,159,164,165,168,169,170,175,176,177,179,180,182,185,187,189,195,198,199,204,205,206,214,215,217,218,219,220,221,226,230,232,233,234,235,238,239,241,242,244,246,247,249,250,251,252,256,261,267,269,271,272,277,278,279,287,290,291,306,307,308,312,314,316,317,318,321,322,324,325,327,328,329,330,331,334,335,337,339,340,341,342,344,345,357,360,362],ones:[4,9,14,20,22,27,31,33,57,58,65,72,74,80,81,83,90,95,100,103,109,114,116,126,127,135,152,153,154,177,180,195,217,218,219,220,221,241,251,252,271,276,308,321,330,338],onewai:[43,159],ongo:[28,91,116,179,213],ongotopt:[83,137],onkeydown:[83,137],onli:[0,2,4,5,6,9,10,11,12,13,14,15,19,20,21,22,24,25,26,27,28,29,31,33,34,37,39,40,41,42,43,44,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,71,72,73,74,77,79,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,100,102,103,104,105,106,107,109,111,112,114,116,117,118,119,121,122,123,124,125,126,127,130,131,132,133,134,135,136,137,138,140,141,144,145,146,150,151,152,153,154,156,157,158,159,164,165,166,167,168,169,170,175,176,177,179,180,181,182,185,187,188,190,195,199,205,206,214,215,217,218,219,220,221,223,232,233,234,235,239,241,242,247,251,252,256,259,260,261,267,271,272,279,282,284,285,287,290,299,305,306,308,310,311,312,315,316,317,318,319,321,322,323,324,326,328,329,330,334,337,339,340,341,342,344,357,362],onlin:[7,12,15,21,37,41,43,55,57,58,60,61,64,65,68,69,70,71,73,77,79,89,96,98,101,104,108,116,123,128,129,139,141,156,164,175,180,188,281,322,364],onloggedin:[83,137],onlook:247,only_tim:341,only_valid:252,onmessag:[40,278,295],onopen:[40,278,295],onoptionsui:137,onprompt:[83,137],onsend:[83,137],onset:[5,11],onsil:83,ontabcr:137,ontext:[83,137],onto:[25,31,33,44,55,60,61,72,90,95,121,137,153,164,233,246,279,325,328],onunknowncmd:137,onward:107,oob:[24,30,33,45,83,104,137,138,139,144,146,166,189,247,272,290,291,295,296,308,328,364],oobfunc:104,oobhandl:334,oobobject:102,ooc:[2,53,58,102,105,114,123,144,148,156,159,160,167,177,181,199,247],ooccmdsetchargen:181,ooclook:[105,181,329],opaqu:[15,103],open:[0,3,4,5,9,20,22,23,26,31,34,37,38,42,46,50,55,57,58,60,63,64,65,67,69,70,71,72,73,75,79,80,90,95,96,103,105,106,111,114,116,123,130,131,133,134,138,159,166,169,179,180,188,212,213,221,226,232,241,310,316,324,337,344,363],open_parent_menu:180,open_submenu:[22,180],open_wal:232,openhatch:79,openlock:241,opensoci:70,opensourc:321,oper:[9,11,12,14,22,27,33,41,42,43,46,51,57,59,60,61,63,64,67,72,74,80,82,88,89,90,95,96,97,102,109,110,112,115,119,124,126,131,137,139,144,150,152,154,156,159,164,169,170,175,180,185,206,232,242,247,252,261,264,267,276,277,281,283,287,289,290,296,298,299,306,307,316,317,318,321,324,328,329,330,334,344,364],opic:170,opinion:[1,48],opnli:316,oppon:[11,73,218,220,231],opportun:[0,4,22,91,133,221],oppos:[27,89,103,110,114,306,319],opposit:[41,43,58,111,121,159,226],opt:[58,137,234],optim:[23,27,33,34,39,56,64,86,93,115,119,154,175,251,252,302,305,316],option100:51,option10:51,option11:51,option12:51,option13:51,option14:51,option1:51,option2:51,option3:51,option4:51,option5:51,option6:51,option7:51,option8:51,option9:51,option:[2,4,7,8,10,11,17,20,23,24,25,27,29,31,33,34,36,38,41,42,47,50,54,55,57,62,63,64,74,76,79,80,81,83,85,86,88,96,100,102,104,106,108,109,111,112,113,114,116,117,123,127,129,133,134,135,137,138,139,141,144,145,146,150,151,152,153,154,156,157,159,164,166,167,170,173,175,176,177,179,180,181,182,184,185,187,188,189,190,192,194,195,199,203,204,205,206,214,215,219,221,226,230,233,234,235,237,238,241,242,244,246,247,249,251,252,254,256,257,258,259,260,261,263,264,265,267,269,272,273,276,277,280,281,282,283,284,285,286,287,289,290,291,294,295,296,298,299,306,308,310,315,316,317,318,319,321,322,323,324,326,327,328,329,330,331,334,337,338,339,340,341,343,344,345,349],option_class:[141,323],option_dict:328,option_gener:328,option_kei:345,option_str:234,option_typ:339,option_valu:339,optiona:[144,264,318],optionalposit:1,optionclass:[141,142,320,323],optioncontain:323,optionhandl:[141,142,320,338],optionlist:[51,230,249,328],options2:137,options_dict:339,options_formatt:[51,188,230,249,328],optionsl:251,optionslist:230,optionstext:[51,188,328],optlist:215,optlist_to_menuopt:215,optuon:205,oracl:[23,344],orang:[114,203,234,321],orc:[57,61,109,117],orc_shaman:109,orchestr:100,order:[0,2,5,6,9,10,11,13,14,22,27,31,33,36,37,39,43,44,49,50,51,58,60,61,62,63,64,68,69,70,71,80,84,87,89,93,100,102,104,109,111,113,114,116,119,121,122,123,126,127,128,131,133,134,136,137,138,144,150,153,154,160,165,166,169,170,173,179,180,181,182,183,185,188,203,204,206,217,218,219,220,221,231,232,233,234,237,241,242,244,247,252,254,263,278,290,295,299,306,316,318,321,322,328,329,330,337,341,344,362],order_bi:119,order_clothes_list:182,ordered_clothes_list:182,ordered_permutation_regex:206,ordered_plugin:83,ordereddi:11,ordereddict:[11,344],ordin:321,org:[11,37,38,57,64,90,96,116,204,234,283,289,295,321,344,357],organ:[5,6,9,22,69,73,80,89,102,108,111,112,119,124,129,131,132,154,166,170],organiz:102,orient:[55,57,64,96,124],origin:[0,4,9,21,25,29,41,43,49,51,55,57,60,75,76,79,81,89,91,96,102,103,105,106,119,131,136,138,144,146,152,159,180,199,205,206,234,247,251,252,276,310,318,321,328,340,343,344,363],orioem2r:133,ormal:321,oscar:[175,239,318],osnam:344,oss:106,ostr:[144,176,238,341],osx:[63,131],other:[0,1,2,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,25,27,28,29,31,34,36,37,38,39,40,41,43,44,46,47,48,49,50,51,53,55,57,58,59,60,61,62,63,64,65,68,69,70,71,73,74,76,80,81,82,83,85,86,87,88,89,91,95,96,97,100,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,131,133,134,135,136,137,138,139,140,144,150,151,152,153,154,159,164,165,166,167,170,171,175,176,179,182,184,186,188,194,199,205,206,210,212,215,217,218,219,220,221,226,233,234,235,239,242,246,247,251,252,257,259,261,265,271,272,276,278,279,285,287,290,299,306,307,309,316,318,320,321,322,324,326,327,328,329,330,338,339,341,344,345,362],otherroom:212,otherwis:[0,4,11,15,23,25,27,29,31,33,37,39,41,42,43,51,59,62,68,69,76,78,83,86,89,90,91,95,97,100,102,103,105,109,114,121,123,131,135,141,151,152,156,159,164,175,179,183,187,188,192,195,206,217,218,219,220,221,235,242,247,250,251,252,260,267,278,279,287,306,310,311,315,321,328,329,337,341,342,344,362],our:[2,3,4,8,9,11,14,16,20,21,23,25,26,30,31,33,36,37,38,39,40,41,42,43,44,46,49,55,57,58,59,60,61,62,63,64,67,70,72,73,75,77,78,79,80,81,82,83,85,88,90,91,98,100,101,103,111,115,116,117,119,123,124,127,128,129,131,132,134,135,136,137,138,140,148,153,167,187,215,231,232,235,242,257,312,315,337,363],ourself:123,ourselv:[0,20,58,80,87,118,132,138,144,181,280,281,283,294],out:[0,1,3,6,8,9,10,12,13,14,15,16,17,19,20,21,22,23,26,28,29,33,34,37,38,39,41,42,43,44,45,46,47,48,49,51,53,54,55,56,57,59,60,61,62,63,64,66,69,70,71,77,79,80,86,88,89,90,91,93,95,96,97,100,102,104,105,108,109,111,114,116,117,118,119,121,122,123,126,127,129,131,133,135,137,138,139,143,144,151,152,156,158,159,164,179,181,184,186,188,199,205,206,209,210,212,213,217,218,219,220,221,230,232,241,251,252,259,267,269,291,295,296,298,307,308,315,316,325,327,328,330,343,344,357],outcom:[38,73,86,152,185,242,247,251],outdat:8,outdata:[40,308],outdoor:[112,119,122,132,233],outer:330,outermost:[11,29,74],outerwear:182,outfunc_nam:40,outgo:[67,88,90,96,105,146,247,279,291,307,344],outgoing_port:90,outlet:90,outlin:[36,43,111,133,278],outmessag:247,output:[4,14,20,22,26,27,34,40,43,51,52,58,74,79,88,91,95,96,100,105,106,108,110,111,113,114,116,120,121,123,126,128,129,135,137,138,141,142,154,159,164,166,169,170,178,180,184,189,207,208,210,217,218,219,220,221,267,272,287,291,299,306,321,328,329,337,340,344],outputcmd:291,outputcommand:[74,83],outputfunc:[40,59,83,247,272,278],outputfunc_nam:[40,272],outputfunct:83,outrank:317,outright:[12,90,363],outro:[122,233],outroroom:233,outsid:[0,13,15,20,21,38,39,57,64,67,73,88,96,100,104,108,109,110,112,121,134,166,204,220,231,241,291,306,307,316,319,330],outtempl:316,outtxt:27,outward:[49,90],over:[1,6,8,11,13,14,15,16,17,27,28,31,33,34,36,37,38,39,40,43,45,48,49,51,54,57,58,59,60,61,73,77,81,83,85,88,90,93,94,96,97,100,103,105,108,111,112,113,114,115,116,118,119,125,126,127,128,129,133,136,137,138,144,153,176,188,212,215,217,218,219,220,221,233,261,271,285,287,290,292,296,298,300,313,318,322,334,340,362,363],overal:[10,56,57,68,71,86,90,152,167,218],overcom:111,overhead:[23,27,34,113,132,206,235,316],overhear:205,overlap:[31,62,205,321,330],overload:[5,22,30,31,33,40,44,47,51,55,57,60,74,76,89,96,97,104,114,115,117,123,136,144,152,154,168,175,180,181,187,189,203,206,212,213,217,218,219,220,221,230,231,232,233,234,247,252,261,271,290,307,326,328,329,330,338],overrid:[1,3,4,9,20,21,22,25,31,36,43,51,53,54,68,69,80,83,91,96,102,105,107,109,117,118,121,135,136,137,144,154,159,164,166,170,175,176,180,187,195,205,219,221,233,234,242,247,252,259,290,308,312,315,316,321,328,329,334,337,338,341,362],overridden:[4,40,96,136,138,144,159,180,234,329,362],override_set:107,overriden:[144,166,206],overrod:16,overrul:[2,80,144,153,206,247,330],overseen:73,overshadow:61,overshoot:344,oversight:57,overview:[15,16,18,23,45,46,57,68,77,96,103,139,364],overwhelm:[46,61],overwrit:[5,43,76,136,138,159,166,285,317,362],overwritten:[33,134,233,319],owasp:357,own:[1,3,4,5,6,8,9,10,11,13,17,19,20,21,22,25,26,27,29,30,31,34,37,38,41,43,45,47,51,55,57,61,62,63,64,67,68,71,72,75,76,77,78,80,81,83,85,86,87,88,91,93,95,96,98,101,102,103,104,105,107,108,109,111,112,114,119,121,122,123,124,125,127,128,129,131,132,133,134,135,136,138,139,148,150,151,152,153,159,164,167,182,184,187,188,199,205,206,210,217,218,219,220,221,232,234,235,241,242,247,252,272,299,307,318,321,322,323,329,330,334,337,338,342,344,362,364],owner:[4,19,80,85,144,242,338],owner_object:80,ownership:[90,100],p_id:133,pace:[122,231],pack:[83,276],packag:[8,9,23,41,47,63,64,72,75,78,88,90,93,96,97,100,108,127,128,135,141,143,149,155,172,178,229,236,240,243,253,262,267,276,291,295,314,320,346],package_nam:64,packagenam:64,packed_data:276,packeddict:[97,318],packedlist:[97,318],packet:[83,287],pad:[17,114,321,330,344],pad_bottom:330,pad_char:330,pad_left:330,pad_right:330,pad_top:330,pad_width:330,page:[7,8,9,12,13,14,16,17,20,21,23,25,26,28,31,33,36,37,38,40,45,48,51,52,55,57,58,59,60,61,64,67,70,72,73,75,76,77,79,80,81,88,89,90,94,96,99,100,101,103,104,106,108,110,124,125,126,127,129,130,131,133,134,137,138,139,164,165,175,239,241,244,251,254,296,315,318,328,329,344,346,355,362,363,364],page_back:329,page_ban:164,page_end:329,page_formatt:[251,329],page_next:329,page_quit:329,page_titl:362,page_top:329,pagelock:241,pageno:[251,329],pager:[52,139,329],pages:[51,328],pagin:[251,329],paginag:329,paginate_bi:362,paginated_db_queri:251,paginator_django:329,paginator_index:329,paginator_slic:329,pai:[56,70,85,90,103,232,241],paid:90,pain:[90,138],painstakingli:13,pair:[31,83,116,137,138,144,152,182,241,247,308,357,362],pal:87,palett:126,pallet:111,palm:188,palobject:70,pane:[43,88,137,138,171,186,230],panel:[67,106],panic:109,paper:[61,79,116],paperback:73,par:23,paradigm:[9,61,118,218],paragraph:[14,27,38,202,322,330,344],parallel:[57,62,69,317],paralyz:219,param:[67,159,247,261,269,279,312,337,345],paramat:[144,154,247,306],paramet:[0,22,24,31,36,39,42,46,49,62,91,100,106,119,127,141,144,145,146,150,151,152,153,154,159,164,166,170,173,175,176,177,179,180,182,184,185,187,188,189,190,192,193,194,195,198,199,204,205,206,209,210,212,215,217,218,219,220,221,226,230,233,234,235,238,242,244,246,247,249,251,252,254,257,258,259,260,261,264,265,266,267,269,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,294,295,296,298,304,305,306,307,308,310,311,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,338,339,341,342,343,344,345,349],paramount:127,paramt:345,paremt:252,parent1:109,parent2:109,parent:[2,6,22,25,27,31,33,38,40,43,44,60,64,81,89,96,109,114,118,121,123,125,140,148,156,159,167,169,180,206,215,234,241,246,247,251,252,256,316,317,318,326,335,337,344,362],parent_categori:215,parent_kei:[22,180],parent_model:[145,173,237,244,254,315],parenthes:95,parentlock:241,pari:[79,90],pariatur:52,paricular:33,park:180,parlanc:3,parri:[116,232],parrot:118,pars:[3,15,31,33,38,40,43,50,51,63,81,83,88,97,104,108,109,114,123,124,129,134,139,149,150,151,154,159,165,166,167,169,170,179,180,185,186,187,199,206,209,210,211,215,226,232,233,234,242,247,250,251,252,272,279,282,291,295,296,308,316,321,322,326,327,328,343,344,364],parse_ansi:321,parse_ansi_to_irc:279,parse_fil:322,parse_html:343,parse_input:328,parse_irc_to_ansi:279,parse_languag:206,parse_menu_templ:[51,328],parse_nick_templ:316,parse_opt:215,parse_sdescs_and_recog:206,parseabl:251,parsed_str:279,parseerror:234,parser:[33,41,47,79,104,108,109,134,150,151,156,159,167,186,187,203,205,206,232,233,234,251,286,321,343],parsingerror:344,part1:203,part2:203,part:[1,4,5,9,11,13,14,15,16,20,22,23,26,29,33,36,37,38,39,40,41,42,44,45,46,48,49,51,57,58,60,61,68,69,70,73,76,80,85,86,88,90,91,92,94,95,102,105,106,111,114,116,117,119,122,123,124,125,127,131,135,136,137,138,139,140,151,152,154,164,167,168,170,175,179,180,185,203,206,215,220,226,233,238,241,242,250,251,259,267,271,296,307,310,312,316,317,321,322,326,328,344,364],part_a:179,part_b:179,parth:292,parti:[8,9,13,23,27,37,42,64,72,75,90,101,114,128,134,177,179,185],partial:[25,68,94,164,166,205,251,269,282,308,339,341,344,345],particip:[41,103,217,218,219,220,221],particular:[5,8,12,13,14,20,22,28,31,38,40,41,43,44,48,58,59,64,68,70,72,74,75,79,80,83,85,88,89,93,96,97,104,105,107,112,113,114,118,119,121,124,125,131,132,135,139,144,151,152,159,176,187,210,219,220,238,241,242,256,308,310,318,334,341,362],particularli:[0,4,12,38,39,51,55,127,154,167,170,206,252,271],partit:321,partli:[11,31,47,86,129,152],party_oth:179,pass:[4,10,21,23,25,27,28,29,30,33,36,40,43,49,51,52,62,69,74,80,82,83,85,88,90,91,95,96,100,102,105,107,109,110,111,115,117,119,121,125,127,130,134,138,139,144,146,152,164,170,171,175,182,184,185,188,189,194,209,210,212,215,217,218,219,220,221,226,232,241,242,247,250,251,257,260,261,265,277,285,287,290,295,296,306,312,316,318,327,328,329,330,337,338,339,340,343,344,362],passag:[83,116,182,232,233,331],passant:126,passavataridterminalrealm:287,passiv:[29,116,133],passthrough:[1,31,259],password1:[145,357],password2:[145,357],password:[4,9,12,23,35,36,51,64,74,80,103,131,139,144,145,156,157,171,186,204,210,272,287,290,311,324,349,357],password_chang:360,passwordresettest:360,past:[0,13,20,26,37,46,50,58,62,69,96,104,108,111,116,123,133,137,219,313,322,331,362],pastebin:37,patch:[125,342],path:[0,2,4,8,14,20,21,22,27,29,38,39,40,43,45,48,51,59,60,63,64,66,67,69,74,80,85,86,88,89,90,95,96,100,102,105,106,109,114,117,118,119,121,123,124,125,134,135,136,138,139,144,146,148,151,152,153,158,159,160,161,162,163,164,169,175,177,179,180,181,182,184,185,187,189,195,198,203,204,205,206,212,213,214,217,218,219,220,221,223,226,230,231,232,233,235,239,246,247,251,252,256,258,259,261,267,274,276,285,292,298,300,304,308,312,316,317,318,322,324,326,327,328,329,331,334,335,341,344,362],path_or_typeclass:198,pathnam:342,patient:[20,70],patreon:70,patrol:231,patrolling_pac:231,patron:[37,70],pattern:[3,4,16,51,69,87,127,133,134,135,140,157,206,311,316,344],pattern_is_regex:316,paul:125,paus:[10,39,46,51,100,102,110,116,169,170,194,259,260,328,344],pausabl:344,pauseproduc:269,paxboard:79,payload:[278,295],paypal:[37,70],pdb:[139,141],pdbref:[80,241],pdf:79,peac:117,peek:[20,26,51,91],peer:[278,295],peform:272,peg:103,pem:67,pemit:[43,108,157],penalti:[86,219],pend:312,pennmush:[57,108,129],pentagon:103,peopl:[2,20,21,26,37,43,54,55,58,61,64,68,71,72,73,79,80,81,85,90,95,96,97,103,108,114,116,119,139,164,165,186,206,232,233,315,324],pep8:26,per:[2,4,11,19,33,38,41,47,51,58,60,62,64,69,83,86,89,93,100,105,109,112,116,119,123,138,144,164,187,205,217,218,219,220,221,231,251,280,281,283,291,294,310,328,329,330,334,337,338],perceiv:62,percent:[33,344],percentag:[116,317,344],percentil:344,perception_method_test:303,perfect:[50,55,61,75,100,131],perfectli:[4,69,96,112,129,138,321],perform:[11,13,14,22,23,25,39,41,42,43,51,52,55,59,71,74,75,80,89,91,93,97,102,103,114,116,117,123,133,134,144,150,152,156,159,164,180,182,188,194,195,206,209,215,217,218,219,220,221,247,251,256,257,276,290,298,299,316,317,318,325,328,329,338,341,344,345,357],perhap:[16,22,42,46,62,69,77,91,94,97,108,138],period:[90,95,96,100,103,127,128,130,344],perist:[34,125],perm:[4,11,12,19,22,25,33,58,68,71,80,85,109,112,123,133,148,157,158,159,164,165,166,169,187,193,203,212,233,239,241,242,246,247,256,316,318],perm_abov:[80,241],perm_us:157,perman:[4,5,12,21,24,25,31,43,51,85,90,96,122,123,138,144,152,153,156,159,164,165,169,205,247,260,318],permiss:[2,4,7,8,9,11,12,18,20,21,23,25,31,41,43,45,66,68,70,71,75,93,108,109,123,133,139,144,145,147,148,152,154,156,157,158,159,164,165,167,175,193,206,221,239,241,242,246,247,251,252,256,316,317,318,319,322,324,337,341,362,364],permission_account_default:[80,298],permission_func_modul:241,permission_guest_default:66,permission_hierarchi:[19,80,241,242],permissionerror:251,permissionhandl:[133,319],permissionshandl:315,permit:[41,78,159,311],permstr:[80,144,318,324],permut:206,perpetu:93,persis:29,persist:[0,6,21,22,27,31,33,34,43,51,55,56,57,60,64,79,84,86,89,102,104,105,109,110,115,116,121,123,125,144,148,153,159,169,177,180,184,188,195,205,206,213,215,217,218,219,220,221,226,230,232,239,246,247,249,251,256,257,259,260,261,272,273,274,305,306,310,314,318,324,326,328,330,331,344],person:[12,21,43,61,63,70,73,90,102,105,118,129,139,144,159,164,165,175,179,185,206],persona:96,perspect:[73,76,77,105],pertain:[103,126,136,350],pertin:[68,133],perus:137,peski:85,pester:[57,61],phase:[49,61],philosophi:80,phone:[16,64,75,139,204],phone_gener:204,phonem:205,php:[64,108,357],phrase:[46,198],phrase_ev:198,physic:[2,49,220,231],pick:[6,9,13,15,20,21,31,33,35,37,39,43,51,55,62,68,72,73,80,85,90,95,96,100,102,104,106,111,119,132,151,156,159,165,167,182,190,206,221,232,233,247,251,299],pickl:[11,29,83,115,257,261,264,274,276,277,316,317,325,326,328,340,344],pickle_protocol:340,pickledfield:340,pickledformfield:[315,340],pickledobject:340,pickledobjectfield:340,pickledwidget:340,picklefield:[141,142,315,320],pickpocket:[43,166],pickup:[221,247],pictur:[21,40,57,106,138],pid:[36,80,100,110,131,133,241,247,267,277,344],piddir:36,pidfil:267,piec:[10,13,59,61,64,93,122,203,294,322,329],pierc:232,piggyback:144,pile:[153,322],pillow:75,ping:[146,164,267,279],pink:[119,321],pip:[9,23,26,38,42,47,59,63,65,71,75,93,96,97,98,100,127,128,130,133,141],pipe:[105,279,325],pitfal:[14,26,114,126],pixel:24,pizza:[148,177,239,246,256,316,318,319],pkg:75,pki:8,place:[0,2,3,4,5,8,9,11,14,15,20,21,25,26,30,37,38,41,43,46,49,51,55,62,63,64,69,71,73,75,76,80,83,89,90,91,95,96,100,102,103,104,105,109,111,121,123,124,126,128,129,131,132,133,135,136,138,144,157,159,165,175,179,180,182,184,188,203,206,209,217,218,219,220,221,226,232,233,235,247,259,276,285,290,306,307,308,316,322,323,325,328,344],placehold:[134,242,247,330],plai:[0,2,11,14,19,22,29,39,46,55,58,61,64,68,73,75,81,83,90,91,95,105,111,114,116,121,122,123,124,132,133,138,144,217,221,291,308,324],plain:[13,14,38,58,86,88,123,164,175,179,180,202,252,272,298,325,362],plaintext:210,plan:[9,14,15,40,41,42,45,55,56,90,94,96,100,124,125,127,139,322,364],plane:121,planet:[62,79],plant:234,plate:[82,125,204],platform:[9,16,56,63,90,102,106,131],playabl:[133,360],player1:247,player2:247,player:[9,10,11,12,19,20,21,22,25,29,31,34,40,41,43,51,53,54,55,58,60,61,64,65,68,71,73,77,80,81,83,85,90,91,93,95,97,98,105,108,110,111,112,113,116,117,118,119,120,121,122,123,124,133,138,139,153,156,159,164,169,176,179,180,188,190,198,199,203,205,206,210,214,215,220,221,226,233,234,235,238,256,281,290,307,322,327,328,344,357,362],playernam:71,playerornpc:9,pleas:[4,5,8,16,17,26,31,37,43,51,63,70,71,72,75,78,90,93,94,109,111,114,117,118,120,124,125,127,131,133,169,269,298,334,340,357,363],pleasur:16,plenti:[14,55,60,129],plot:300,plu:[22,27,43,64,73,106,169],pluck:33,plug:[96,103,107,136,235],plugin:[4,40,45,47,53,55,72,79,83,104,108,138,206,265,364],plugin_handl:[83,137],plugin_manag:137,plural:[19,58,80,220,247],png:[70,92,101,136],po1x1jbkiv:37,pocoo:344,point:[0,2,4,5,8,13,14,15,20,21,22,25,27,29,31,33,34,36,37,38,39,42,43,49,51,55,56,60,61,62,63,67,69,73,75,81,83,85,86,88,89,90,91,93,95,97,100,102,104,105,106,112,113,115,116,121,123,125,127,130,131,133,134,135,136,138,139,144,150,154,159,164,167,169,179,189,206,212,217,233,234,235,247,249,251,261,267,271,285,287,295,306,308,315,316,318,322,328,344,362],pointer:[26,49,56,91],pointless:[6,10,89,115,166],poison:[219,252],poke:119,pole:203,polici:[43,45,90,94,103,139,210,239,311,316],polit:103,poll:[40,136,156,231,267,296],pong:279,pool:[23,31,115,261,312,325],poor:[48,58],poorli:103,pop:[10,23,25,38,48,58,85,106,138],popen:277,popul:[22,23,36,41,57,61,62,81,124,135,138,152,160,161,162,163,180,182,187,203,206,214,217,218,219,220,221,226,230,231,232,233,260,261,315,322,326,327,329],popular:[9,57,64,79,103,108,362],popup:[137,138],port:[0,8,9,23,36,43,54,55,63,67,72,94,100,101,110,146,164,276,279,287,299,308,312],portal:[40,43,45,47,53,79,88,89,90,93,94,103,104,106,110,121,128,137,139,141,142,146,169,183,262,264,267,305,306,307,308,331,337,344,364],portal_connect:308,portal_disconnect:308,portal_disconnect_al:308,portal_l:277,portal_pid:[277,344],portal_receive_adminserver2port:277,portal_receive_launcher2port:277,portal_receive_server2port:277,portal_receive_statu:277,portal_reset_serv:308,portal_restart_serv:308,portal_run:267,portal_service_plugin_modul:40,portal_services_plugin:[40,104],portal_services_plugin_modul:40,portal_sess:40,portal_session_sync:308,portal_sessions_sync:308,portal_shutdown:308,portal_st:267,portal_uptim:331,portallogobserv:337,portalsess:[40,105,285],portalsessiondata:308,portalsessionhandl:[40,141,142,262,275,286,308],portalsessionsdata:308,portion:[77,180,190],pose:[29,58,116,144,165,195,206,226],pose_transform:175,posgresql:23,posit:[13,20,22,39,49,51,91,111,116,126,127,137,138,139,153,171,180,186,202,221,232,233,234,235,247,260,321,322,325,326,330,344,345],positive_integ:345,positiveinteg:338,posix:[337,344],possess:[7,77,189],possibl:[0,5,9,10,11,22,23,25,26,31,33,34,37,38,39,43,46,50,55,57,58,63,64,66,73,74,75,76,80,91,93,100,102,104,105,109,111,112,114,116,123,126,127,128,131,134,136,138,141,144,148,150,152,159,167,179,187,194,203,205,206,214,231,233,235,241,242,247,250,251,252,257,261,272,292,296,306,308,316,317,319,321,324,326,327,328,330,340,341,344],post:[5,31,34,37,55,57,58,61,63,69,70,71,80,98,107,111,120,133,136,210,259,296,362],post_delet:107,post_init:107,post_join_channel:175,post_leave_channel:175,post_migr:107,post_sav:107,post_send_messag:175,post_text:190,post_url_continu:[145,173,244],postfix:205,postgr:[23,64],postgresql:[55,344],postgresql_psycopg2:23,postinit:[83,137],posttext:188,postupd:[71,120],pot:12,potato:[24,234],potenti:[10,11,13,26,41,82,83,90,98,111,114,116,123,154,176,210,211,241,242,247,251,338,341,344],potion:[77,318],power:[15,19,20,29,30,31,33,42,43,46,50,51,55,56,58,61,64,80,89,96,109,111,116,122,123,137,138,152,153,158,159,215,220,234,322,328,344],powerfulli:0,pperm:[12,41,43,71,80,133,156,164,203,241,247],pperm_abov:241,pprofil:267,pprogram:267,practial:15,practic:[0,13,14,22,26,29,33,34,36,37,57,58,63,64,70,80,89,90,96,105,109,119,124,126,131,139,322,364],pre:[33,43,47,49,54,61,63,71,89,90,111,114,138,144,159,166,205,242,247,251,252,295,296,326,340],pre_delet:107,pre_init:107,pre_join_channel:175,pre_leave_channel:175,pre_migr:107,pre_sav:[107,340],pre_send_messag:175,pre_text:190,preced:[19,31,41,96,109,114,119,152,154,215,247,252,317,330],precend:150,precis:[11,96,126,321],predefin:[121,311],predict:[125,133],prefac:119,prefer:[21,22,23,31,37,43,47,55,57,71,80,90,91,96,106,109,111,123,131,137,138,152,154,157,180,206,218,231,238,247],prefix:[20,22,23,42,76,86,97,103,125,144,145,151,168,175,190,205,237,244,272,279,310,315,321,337,341,344,357],prefix_str:25,prematur:[27,93,179],prepai:90,prepar:[3,49,57,87,109,127,136,144,164,206,217,218,219,220,221,231,256,325,340,363],prepars:38,prepend:[199,206,247,321,322,328,344],prepopul:[315,362],preprocess:159,prerequisit:[9,36],prescrib:[55,57],preselect:138,presenc:[9,17,23,55,56,90,122,124,126,136,144,247,312,346],present:[1,4,8,22,42,46,48,49,51,62,69,77,85,91,96,97,104,105,116,123,131,138,180,188,190,204,205,214,215,234,252,326,344],preserv:[126,167,318,321,322,337,344],press:[9,14,15,22,26,31,33,42,51,63,80,83,88,95,96,100,106,110,180,226,232,265,328],pressur:82,presto:20,presum:[62,73,153,337,338],pretend:75,pretext:188,pretti:[0,22,25,26,37,38,39,41,60,64,67,72,85,88,89,90,116,121,123,126,131,133,138,154,175,182,204,236,242,251,327,329,338,344],prettier:[0,357],prettifi:[57,344],prettili:62,pretty_corn:330,prettyt:[27,330],prev:[51,329],prev_entri:51,prevent:[11,20,33,38,46,62,95,194,221,234,310,315,329,362],preview:38,previou:[0,10,11,14,16,22,29,31,33,41,42,51,52,58,60,62,69,80,85,86,87,91,95,96,100,104,107,114,119,123,126,164,215,233,249,328,337,362],previous:[20,31,34,43,49,50,67,72,74,91,102,104,114,119,127,133,136,154,157,159,164,175,179,272,288,292,299,308,319,344],prgmr:90,price:[90,232],primari:[17,100,125,133,206,247,316,341],primarili:[2,12,34,36,37,55,61,108,144,179,206,238,285,325,344],primarli:38,primary_kei:133,prime:[150,179],primer:10,primit:[43,61,159],princess:[111,122],principl:[2,9,19,26,30,33,37,38,40,43,51,55,57,60,80,85,89,90,96,98,119,123,132,138,153,156,179,233],print:[4,9,10,11,21,25,26,27,40,42,43,50,51,58,59,83,86,91,95,96,97,110,113,125,156,185,205,234,251,266,267,327,328,329,330,337,344],print_debug_info:328,print_help:234,print_usag:234,printabl:293,printout:290,prio:[25,31,33,150,233],prior:[117,194,247],priorit:205,prioriti:[4,25,31,33,44,51,97,116,152,156,160,161,162,163,167,180,230,232,233,247,326,328,329],privat:[4,8,38,43,57,61,69,90,131,164,165,279,292],private_set:9,privatestaticroot:312,privileg:[21,23,43,60,63,65,72,98,123,165,206,235,247,318],privkei:67,privkeyfil:287,privmsg:279,prize:122,proactiv:115,probabl:[4,5,11,16,21,22,23,25,29,33,37,46,48,51,55,57,61,64,67,69,85,86,89,90,96,108,116,119,121,128,133,134,136,138,166,180,198,204,233,269,279,287,334,344,345],problem:[11,13,15,21,22,23,24,25,26,27,36,38,43,56,61,64,69,70,75,77,80,90,95,97,100,103,110,111,113,127,138,140,144,153,195,247,276,322],problemat:[25,344],proce:[14,15,100,121,126,164,294,362],procedud:51,procedur:[138,215,287,290],proceed:[131,344],process:[0,4,8,9,11,13,14,15,22,23,25,29,33,36,38,39,41,42,43,49,51,55,59,61,64,67,73,75,76,83,88,89,90,91,92,93,94,100,106,122,131,133,138,139,144,150,152,159,169,175,179,206,215,234,240,242,247,251,257,260,267,272,276,277,284,287,290,295,296,305,306,308,316,321,322,325,328,338,343,344,345,362,364],process_languag:206,process_recog:206,process_sdesc:206,processed_result:344,processor:[18,43,93,110,111,124,139,141,142,158,169,320,364],procpool:344,produc:[33,43,51,96,114,123,131,156,159,203,205,232,235,247,251,252,266,298,316,318,327,328,344],produce_weapon:232,producion:27,product:[23,26,36,90,93,103,106,128,131,135,298,301,328],production_set:9,prof:93,profession:[3,57,64,108],profil:[45,65,139,141,142,145,148,188,262,364],profile_templ:188,profit:138,profunc:109,prog:234,progmat:56,program:[2,10,15,23,39,43,53,56,57,63,64,67,70,75,77,79,86,90,92,93,95,96,100,103,106,108,110,114,124,127,128,169,234,262,267,290,296,298],programiz:39,programm:[91,95],programmat:[114,138],progress:[70,73,79,85,94,131,217,218,219,220,221,326,364],proident:52,project:[4,15,25,37,49,64,70,72,77,79,91,99,108,111,124,127,131,135,136,338],projectil:220,promis:26,promisqu:126,prompt:[9,12,23,24,26,42,54,63,64,75,83,88,96,100,111,124,125,137,139,154,170,215,265,279,290,295,296,322,328,364],promptli:14,prone:[1,128,153,318],pronoun:189,prop:61,propag:[8,152,271,340],proper:[15,21,23,27,36,39,43,44,56,57,61,64,85,91,96,100,103,116,123,127,131,133,135,137,138,159,170,179,180,196,205,327],properli:[9,29,58,62,69,84,106,108,117,125,126,127,128,131,133,140,154,179,211,233,241,260,261,287,344,362],properti:[5,6,13,22,25,39,43,53,55,56,57,59,61,68,73,80,81,84,86,87,96,97,104,109,110,111,115,116,119,121,123,126,127,144,145,146,148,154,156,159,167,169,170,173,175,177,180,188,194,203,206,215,217,219,220,221,226,231,232,233,234,235,237,239,241,242,244,246,247,251,252,254,256,258,259,260,263,272,274,279,285,299,306,307,308,315,316,318,319,323,325,328,338,339,340,341,344,357,362],propnam:123,propos:[50,138],proprietari:23,propval:123,propvalu:123,prosimii:[133,134],prospect:61,prot:252,prot_func_modul:[109,250],protect:[6,31,43,90,159,226],protfunc:[141,142,248,251,252],protfunc_callable_protkei:250,protfunc_modul:251,protfunc_pars:251,protfunct:251,protkei:[109,250,251],proto:[276,287],proto_def:203,protocol:[24,27,33,43,47,53,64,72,74,79,83,90,92,94,101,103,104,105,110,137,139,144,146,154,157,189,210,247,262,264,267,269,272,276,277,278,279,280,281,282,283,285,286,287,289,290,291,292,294,295,296,298,305,306,307,308,326,340,344,364],protocol_flag:[289,290,294,306],protocol_kei:307,protocol_path:[285,308],protodef:203,prototocol:[43,169],protototyp:[249,251,252],protototype_tag:109,prototoyp:250,prototyp:[43,45,46,47,53,55,120,139,141,142,159,169,203,218,219,232,364],prototype1:252,prototype2:252,prototype_:109,prototype_desc:[109,252],prototype_dict:[43,159],prototype_diff:252,prototype_diff_from_object:252,prototype_from_object:252,prototype_kei:[43,109,159,251,252],prototype_keykei:[43,159],prototype_lock:[109,252],prototype_modul:[43,109,159,251,252],prototype_pagin:251,prototype_par:[43,109,159,252],prototype_tag:252,prototype_to_str:251,prototypeevmor:251,prototypefunc:252,protpar:[251,252],protpart:251,provid:[0,3,4,11,12,16,17,22,25,29,33,36,38,41,43,47,55,69,75,77,90,91,96,97,100,102,103,108,109,119,124,125,126,127,131,133,134,136,137,138,144,154,159,164,175,180,182,188,190,193,203,204,215,217,218,219,220,221,234,235,241,247,250,259,287,310,317,328,338,339,340,344,345,357,362],provok:[42,79],proxi:[47,60,67,70,94,103,125,312,315],proxypass:8,proxypassrevers:8,prudent:36,prune:31,pseudo:[40,49,91,108,204,205],psionic:220,psql:23,psycopg2:23,pty:9,pub:[41,164,175],pubkeyfil:287,publicli:[54,61,79],publish:[21,36,79,100],pudb:141,puff:56,pull:[25,31,33,36,37,38,64,100,128,131,136,198,232,269],pullrequest:37,punch:31,punish:221,puppet:[2,9,19,21,22,31,33,39,40,41,43,55,57,58,62,74,80,96,97,105,107,114,118,123,133,143,144,150,156,159,167,181,199,241,247,306,308,318,360,362],puppet_object:[2,144],purchas:[67,85],pure:[46,56,88,114,125,126,256,267,316,321],pure_ascii:344,purg:[11,43,110,125,169],purpos:[4,11,67,83,90,92,95,112,119,123,126,133,146,150,154,185,194,287,316,325,328,344],pursu:[122,231],push:[22,38,76,100,103,126,198,226,232],pushd:63,put:[0,2,3,5,6,10,12,13,14,19,20,21,23,25,33,37,38,42,43,46,49,50,51,57,58,60,61,64,70,73,77,79,80,83,85,86,87,89,90,95,96,102,103,104,105,106,109,111,114,116,121,122,123,125,127,129,133,135,136,138,153,156,157,159,161,165,181,182,188,190,206,215,217,218,219,220,221,223,242,276,290,329,330,344],putti:90,puzzl:[79,122,141,142,178,232,233],puzzle_desc:232,puzzle_kei:233,puzzle_nam:203,puzzle_valu:233,puzzleedit:203,puzzlerecip:203,puzzlesystemcmdset:203,pwd:100,py3:276,pyc:[47,95],pycharm:[38,45,139,364],pyflak:26,pylint:26,pyopenssl:65,pypath:344,pypath_prefix:344,pypath_to_realpath:344,pypi:[64,79,90,93,321],pypiwin32:[9,63],pyprof2calltre:93,pyramid:235,pyramidmapprovid:235,python2:[9,63,97],python37:63,python3:[63,64,75,94],python:[0,2,3,4,9,10,11,12,14,15,19,20,21,22,23,27,29,31,33,37,38,39,42,43,45,46,47,49,50,51,53,56,58,60,62,63,64,65,66,69,72,73,75,76,80,82,83,85,86,89,90,91,93,97,98,100,102,103,104,106,108,109,110,111,113,114,116,118,119,123,124,125,127,128,130,133,134,135,139,151,153,158,159,163,169,170,180,185,192,193,194,195,196,198,204,234,235,242,246,250,252,258,261,267,269,276,280,285,295,306,308,312,314,317,318,321,322,324,325,326,327,328,330,331,334,337,340,344,363,364],python_execut:64,python_path:[153,344],pythonista:79,pythonpath:[153,267,277,322],pytz:345,qualiti:[61,151],quell:[2,6,20,121,156,212],quell_color:159,queri:[11,16,34,39,56,64,83,86,94,109,112,131,148,164,166,177,206,238,239,246,247,251,252,256,274,287,302,316,317,318,319,329,335,341,344,345],quersyet:119,query_al:316,query_categori:316,query_info:267,query_kei:316,query_statu:267,queryset:[64,102,112,119,176,199,238,251,273,315,317,329,341,362],queryset_maxs:329,quest:[55,57,61,63,117,122,139,233],question:[8,10,22,26,33,34,43,50,51,57,61,63,67,70,73,90,96,124,127,131,135,159,170,246,264,265,316,326,328,344],queu:267,queue:[36,116,312],qui:52,quick:[5,18,22,31,33,38,39,43,48,55,61,70,79,90,91,95,97,108,112,116,119,124,138,140,146,159,180,205,252,272,316,319,330],quicker:[0,37,86,87],quickli:[10,11,15,25,33,34,39,43,48,51,86,89,96,112,114,120,128,136,139,159,180,205,319,322],quickstart:[95,139,364],quiescentcallback:269,quiet:[25,43,85,144,157,159,164,180,182,206,247,329,344],quiethttp11clientfactori:269,quietli:[29,83,88,316],quirk:[24,45,139,153,364],quit:[0,2,4,10,17,21,22,23,30,33,38,39,40,42,46,50,51,54,55,57,60,67,75,85,93,96,105,119,127,128,133,156,171,180,186,188,194,220,287,326,328,329],quitfunc:[50,326],quitfunc_arg:326,quitsave_yesno:326,quo:115,quot:[23,27,35,43,50,51,80,95,96,109,114,118,159,171,186,206,326,328,340,344],qux:215,ra4d24e8a3cab:35,race:[8,55,56,61,73,79,117,133,344],rack:232,radiu:[39,49,111],rage:122,rail:[64,121],railroad:121,rain:[102,119,122,132],raini:233,rais:[10,15,27,33,69,73,77,83,91,109,119,134,144,146,170,176,180,185,187,192,194,195,204,205,206,242,250,251,261,266,267,285,290,296,311,316,317,319,321,322,324,327,328,330,337,338,339,340,344,345],raise_error:[339,344],raise_except:[1,316],ram:[11,90],ramalho:79,ran:[13,36,42,90,127,259],rand:102,randint:[73,91,109,116,120,123,217,218,219,220,221,252],random:[9,20,35,46,60,73,90,91,102,104,109,114,116,120,123,132,204,205,217,218,219,220,221,223,226,228,232,233,235,252,298,299,344],random_string_from_modul:344,random_string_gener:[141,142,178],randomli:[86,93,102,120,132,217,218,219,220,221,226,231,232,267,299],randomstringgener:204,randomstringgeneratorscript:204,rang:[24,31,39,42,43,49,50,56,59,63,88,91,93,103,109,111,116,118,120,122,127,159,184,188,218,221,317,326,357,362],rank:[19,241],raph:79,raphkost:79,rapidli:153,raptur:291,rare:[10,22,33,34,38,63,86,104,106,115,128,164,242,324],rascal:112,rate:[33,37,43,64,90,164,261,267,286,344],rather:[2,3,11,13,20,22,25,26,29,33,37,38,39,41,43,47,55,57,60,61,64,71,86,89,91,93,95,97,102,104,110,111,112,115,116,127,128,129,131,134,135,138,144,148,152,156,159,160,164,167,169,175,179,190,194,202,206,217,218,219,220,221,236,241,247,249,251,252,315,316,318,321,330,339,340,343,362],ration:179,raw:[3,12,20,33,38,41,51,56,64,74,83,86,95,109,114,119,144,151,154,159,167,168,170,206,210,234,247,272,287,290,295,296,306,316,321,326,328,338,344],raw_cmdnam:[151,168],raw_desc:187,raw_id_field:[173,244,254],raw_input:[85,328],raw_nick:87,raw_str:[33,51,85,144,146,150,151,154,170,188,215,230,247,249,306,316,328],raw_templ:87,rawstr:[154,170],rcannot:22,rdelet:169,re_bg:343,re_bgfg:343,re_blink:343,re_bold:343,re_color:343,re_dblspac:343,re_double_spac:343,re_fg:343,re_format:321,re_hilit:343,re_invers:343,re_mxplink:343,re_norm:343,re_str:343,re_ulin:343,re_underlin:343,re_unhilit:343,re_url:343,reach:[20,22,39,51,73,87,88,90,95,101,121,122,141,154,188,192,221,241,287,291,310,328,329,341],reachabl:[64,115],react:[51,115,117,118,231,247],reactiv:[43,169],reactor:[94,278,305,312,342],read:[0,1,4,5,8,9,11,13,15,16,17,20,22,23,25,27,29,31,33,34,37,38,39,41,43,46,51,55,56,58,59,60,61,64,69,70,71,72,76,77,79,80,85,86,88,90,91,93,95,96,102,103,104,105,109,114,119,122,123,124,126,127,128,131,133,134,138,139,144,148,158,166,177,180,187,190,198,199,204,206,232,233,239,246,247,251,252,256,274,276,299,316,318,319,322,323,327,329,335,337,362,363],read_batchfil:322,read_default_fil:36,readabl:[1,27,38,49,51,93,96,108,114,115,125,232,321,328],readable_text:232,reader:[38,43,48,58,74,79,81,98,133,164,190,221,272,286],readi:[2,10,12,15,20,25,29,36,37,40,42,54,63,75,77,80,83,89,93,106,121,131,136,138,144,154,166,206,217,218,219,220,221,247,296,329,338,344],readili:[23,111],readin:327,readlin:337,readm:[14,37,46,47,53,130,131,178,210],readonlypasswordhashfield:145,readthedoc:[79,83],real:[2,10,21,22,27,31,38,39,42,46,55,58,59,62,63,66,67,72,73,89,90,93,95,100,108,109,110,111,116,119,123,125,126,131,148,153,177,179,184,205,206,219,241,298,322,331],real_address:2,real_nam:2,real_seconds_until:[184,331],real_word:205,realis:77,realist:[127,132],realiti:[21,55,56,61,77,79,111,126],realiz:[48,96,126,131],realli:[4,10,11,12,13,14,19,20,22,25,26,31,33,38,39,42,51,58,62,64,67,72,77,80,85,89,91,96,98,104,108,110,111,112,115,118,119,121,127,128,138,139,154,170,179,180,181,215,234,242,276,321,322,328,340],realm:287,realnam:89,realpython:10,realtim:[58,184],realtime_to_gametim:184,reason:[8,9,11,12,13,22,25,29,34,37,38,39,40,41,43,44,49,51,56,57,58,60,61,63,64,69,73,80,82,83,86,87,89,93,97,102,103,104,106,109,114,115,116,119,122,126,129,131,138,144,157,159,164,169,186,204,205,247,251,257,264,269,276,277,278,279,285,286,287,290,295,296,298,306,307,308,318,326,337,344,362],reasourc:109,reassign:49,reattach:[106,278,279],rebas:131,reboot:[11,27,28,43,50,55,67,84,86,90,100,102,105,115,116,128,144,153,164,169,183,188,231,232,247,256,257,259,261,267,307,308,326,328],reboot_evennia:267,rebuild:[58,63,100,128,279],rebuilt:33,rec:206,recach:233,recal:[95,138,232,362],recaptcha:133,receipt:[103,269],receiv:[31,33,34,37,41,42,51,52,58,77,83,87,91,105,113,114,117,127,133,137,138,144,152,153,170,171,175,176,177,186,199,206,210,247,269,272,276,278,279,285,295,296,305,306,324,329,341,344],receive_functioncal:276,receive_status_from_port:267,receivelock:241,receiver1:170,receiver2:170,receiver_account_set:148,receiver_extern:177,receiver_object_set:246,receiver_script_set:256,recent:[4,17,25,60,67,94,123,310],recev:296,recip:[0,28,115,203],recipi:[34,58,144,175,176,199,247,276],reckon:9,reclaim:102,recog:[87,206],recog_regex:206,recogerror:206,recoghandl:206,recogn:[16,20,63,74,83,89,90,96,110,127,134,206,312],recognit:[206,316],recommend:[9,12,23,24,25,26,36,37,38,43,51,55,58,59,60,61,63,69,73,79,86,88,89,90,93,95,108,109,122,124,125,127,131,135,169,190,194,209,234,242,247,269,322,328,341],recommonmark:38,reconfigur:90,reconnect:[144,146,164,175,264,267,276,278,279,305,308],reconnectingclientfactori:[264,278,279],record:[15,23,90,123,210,221,310,357],record_ip:310,recours:12,recov:[27,28,29,56,217,218,219,220,221,242,344],recoveri:116,recreat:[23,63,102,111,128,146,153,322,323],rectangl:327,rectangular:[58,327],recur:64,recurs:[11,241,251],red:[13,14,20,31,43,59,80,87,95,109,114,126,159,169,226,232,321,345],red_bal:59,red_button:[13,14,20,43,87,141,142,159,178,222],red_button_script:[141,142,178,222],red_kei:80,redbutton:[13,14,20,43,87,159,226],redd:103,reddit:103,redefin:[22,33,55,89,247,357],redhat:[63,67],redirect:[8,22,40,69,96,105,133,135,180,328,362],redirectview:362,redistribut:34,redit:180,redo:[50,61,326],redon:271,redraw:287,reduc:[94,116,217,218,219,220,221,280],redund:321,reel:153,reen:[114,321],ref:[23,38,125,206,247,344,357],refactor:[45,57,139,247,363,364],refer:[0,8,9,13,19,20,22,31,33,34,37,40,43,46,48,49,51,56,57,62,64,69,73,79,80,86,87,88,89,90,95,96,100,104,105,106,109,110,111,116,118,119,124,125,126,127,129,130,131,133,134,144,153,159,164,168,175,179,188,204,206,217,218,219,220,221,241,247,258,260,261,269,279,299,307,315,317,328,334,340,341,344,362],referenc:[43,56,89,104,109,159,164,175,206,239,318,344],referenti:344,referr:90,refin:[49,119],reflect:[96,362],reflow:16,reformat:[252,330,337],reformat_cel:330,reformat_column:[111,330],refresh:[26,134,287,310],refus:12,regain:29,regard:[48,126,127,138,204],regardless:[12,19,31,33,58,73,80,81,83,102,105,114,119,121,125,127,138,144,152,175,179,189,206,247,261,284,287,290,305,307,316,319,322,334,337,344],regener:219,regex:[5,33,50,51,87,127,137,154,157,170,183,204,206,311,316,328,344],regex_nick:87,regex_tupl:206,regex_tuple_from_key_alia:206,regexfield:145,region:[43,58,90,140,157],regist:[65,71,83,103,104,116,120,131,133,135,137,138,144,164,198,231,232,257,267,278,279,285,308,310,312,321,360,362],register_error:321,register_ev:198,registercompon:137,registertest:360,registr:[65,362],registrar:67,registri:[204,310,312],regress:251,regul:242,regular:[3,17,33,38,51,69,79,90,96,105,115,127,132,134,135,146,152,182,203,204,233,242,261,316,319,334,344,363],regulararticl:335,regulararticle_set:335,regularcategori:335,regularli:[67,85,98,102,120,128,132,184,231,233,259,261,270,300,331],reilli:79,reinforc:79,reiniti:110,reinstal:63,reinvent:57,reject:[188,204],rejectedregex:204,rel:[10,13,14,19,22,31,49,51,82,104,123,131,133,184,221,322,328],relai:[27,33,43,72,105,144,164,179,189,247,285,308,328,329,344],relat:[28,31,33,34,43,47,51,56,57,72,79,94,96,102,103,104,110,125,132,137,138,139,145,148,149,152,167,172,176,177,184,198,210,217,218,219,220,221,230,233,239,246,247,256,261,272,308,315,316,318,319,321,328,335,337,346,350,357],related_field:[145,173,237,244,254,315],related_nam:[148,177,239,246,256,316,318,319,335],relationship:[34,49,119,125],relay:146,releas:[9,28,37,43,55,63,78,79,90,96,169],releg:1,relev:[3,9,11,14,22,30,33,37,38,47,58,62,79,80,89,94,96,107,112,114,116,119,123,124,125,133,135,140,144,145,150,152,179,180,241,242,258,281,299,306,307,308,315,321,326,328,338],relevant_choic:180,reli:[9,34,41,51,62,70,81,85,86,88,91,114,115,119,126,127,135,189,206,233,267,318,328],reliabl:[13,23,25,29,125,334],reload:[0,2,3,5,6,7,12,13,14,19,21,22,26,27,28,29,31,33,35,36,39,40,41,42,44,48,50,51,55,57,58,60,62,63,65,66,68,69,71,73,74,81,92,95,96,98,102,104,105,106,115,116,117,118,121,123,125,128,133,134,135,136,139,144,146,153,158,159,169,175,180,181,185,186,187,195,202,206,212,213,232,233,235,242,247,257,259,261,267,276,277,279,281,305,308,312,316,322,324,326,327,328,331,344,364],reload_evennia:267,remain:[13,19,30,31,33,43,50,51,58,77,90,91,96,97,107,109,110,113,151,153,159,161,165,181,184,187,205,217,218,219,220,221,231,247,267,295,296,328,329,344],remaind:[21,33,184],remaining_repeat:102,remap:[38,316],remedi:60,rememb:[0,1,4,5,11,12,13,21,22,28,29,31,33,39,41,43,48,49,51,54,56,58,61,62,63,69,77,80,86,88,90,91,93,95,96,97,111,112,114,115,119,123,126,128,131,137,139,157,159,181,194,247,257,322,341],remind:[0,4,38,50],remit:[43,157],remnisc:57,remot:[25,100,103,164,276,278,290],remov:[0,1,4,9,11,12,21,22,27,31,36,39,41,43,48,50,51,55,58,69,80,81,84,85,87,89,91,93,98,102,115,116,122,127,128,131,133,136,138,141,152,153,157,159,164,165,166,169,170,175,177,180,182,187,188,192,196,203,204,205,206,215,217,218,219,220,221,226,242,246,247,252,257,260,261,267,285,296,308,310,316,319,321,325,328,334,340,342,343,344],remove_alia:164,remove_backspac:343,remove_bel:343,remove_charact:116,remove_default:[31,153],remove_receiv:177,remove_send:177,remove_user_channel_alia:175,removeth:316,renam:[9,20,43,58,81,136,159,165,247,318],render:[3,22,38,69,81,102,107,133,134,136,145,166,190,237,244,312,315,338,340,355,357,362],render_post:296,renew:[29,58,67,310],reop:94,reorgan:[45,47],repair:[21,61],repeat:[0,42,61,62,75,88,93,102,110,111,116,118,121,136,139,144,146,179,184,204,215,256,259,267,272,291,316,324,328,331,344],repeatedli:[14,42,62,74,102,139,231,256,259,261,267,272,298],repeatlist:74,repetit:[62,116,204],replac:[5,6,9,22,23,25,29,30,31,33,36,38,41,43,50,51,57,69,74,80,87,89,94,95,96,100,104,105,109,111,114,116,119,134,135,136,137,138,144,151,152,153,154,157,165,166,170,175,179,181,183,186,187,188,192,195,202,203,205,206,226,230,233,234,242,247,249,251,252,279,282,295,296,306,316,321,326,327,328,330,343,344],replace_data:330,replace_timeslot:187,replace_whitespac:330,replacement_str:[43,165],replacement_templ:[43,165],replenish:[217,218,219,220,221],repli:[33,51,65,70,139,146,179,199,265,289,290,296,308,328],replic:[22,114,136],repo:[38,47,57,79,106,131,139,344],report:[22,24,26,33,37,43,61,63,70,73,75,84,91,93,94,97,102,103,104,115,116,127,131,136,138,159,164,192,195,206,234,247,267,272,279,282,283,290,291,295,306,308,321,324,328,344],report_to:324,repositori:[8,9,23,25,36,76,78,96,100,130,252],repositri:76,repr:[91,344],reprehenderit:52,repres:[0,2,9,20,21,22,25,31,33,40,46,49,53,56,61,62,64,69,77,86,89,95,96,105,107,113,116,119,125,126,127,133,136,144,150,176,182,188,190,192,198,204,205,206,210,212,215,219,232,233,234,247,252,260,261,264,278,279,295,296,306,307,308,312,316,317,321,323,324,328,329,330,340,344],represent:[2,11,28,40,58,64,73,77,86,87,88,105,113,119,126,176,192,195,206,251,256,276,295,296,319,325,331],reprocess:103,reproduc:[10,96,247],reput:209,reqhash:[317,344],reqiur:188,request:[3,8,26,37,40,43,51,63,69,80,90,103,107,119,123,131,133,134,135,139,144,145,146,157,173,179,195,244,247,251,254,267,269,276,279,281,286,287,289,296,312,315,319,328,349,350,351,355,362],request_finish:107,request_start:107,requestavatarid:287,requestfactori:312,requestor:[144,310],requir:[1,4,8,9,10,11,14,15,22,23,33,36,37,38,43,46,47,49,50,51,54,58,60,61,67,68,69,70,71,75,77,78,79,80,84,85,86,89,90,93,94,102,109,110,111,114,115,116,118,119,125,126,127,129,132,133,134,136,137,145,158,159,164,169,176,177,185,186,187,188,202,204,206,215,219,220,233,234,237,238,241,244,247,251,260,267,278,279,292,300,311,315,317,322,327,328,329,330,334,339,340,341,344,357,362],require_singl:251,requr:109,rerout:[138,156,160,279],rerun:[13,14,51,122],research:[79,194],resembl:[25,55,129],resend:33,reserv:[1,10,33,95,96,111,251,311,317,344],reset:[0,7,12,15,17,23,27,29,31,33,44,50,60,66,73,81,102,104,105,111,114,116,121,123,125,126,139,144,146,153,159,169,184,195,206,232,242,267,271,277,287,305,316,319,322,330,331,342,344],reset_cach:[316,319],reset_callcount:102,reset_gametim:[27,331],reset_serv:271,reset_tim:187,resid:[47,96,108,242],residu:[43,169,219],resist:[252,344],resiz:[58,138,327,330],resolut:[114,116],resolv:[26,29,42,60,70,90,95,104,116,131,203,217,218,219,220,221],resolve_attack:[217,218,219,220,221],resolve_combat:116,resort:[33,54,58,164,206,344],resourc:[9,23,26,28,38,41,47,48,53,56,90,94,95,96,103,108,115,124,127,135,136,139,220,257,265,296,312,323,342],respect:[0,6,23,33,43,48,58,80,104,105,123,125,157,159,166,179,199,203,206,213,242,247,306,307,318,319,322,324,330,341,344,357],respond:[0,46,51,61,83,84,107,110,117,118,126,294,298],respons:[7,10,16,17,37,49,51,60,63,64,70,85,88,90,91,118,120,121,144,146,153,164,175,233,235,239,247,265,267,269,276,299,308,318,338,340,344],response_add:[145,173,244],resport:344,rest:[17,29,33,51,56,63,73,82,85,86,87,104,106,111,122,123,151,167,168,217,218,219,220,221,316,321,330],restart:[12,42,43,58,60,76,90,92,93,102,103,104,106,110,116,128,131,135,138,141,144,169,175,180,183,195,247,257,259,260,261,271,284,305,306,307,344],restartingwebsocketserverfactori:[146,278],restock:85,restor:[0,31,102,126,180,220,257,261],restrain:[43,159,241,327,344],restrict:[4,8,11,19,20,43,47,59,68,73,80,90,109,111,115,125,134,137,159,164,182,204,220,221,237,242,252,324,326,328,330,341],restructur:[38,56],result1:203,result2:[51,203],result:[10,11,23,27,30,31,33,38,43,44,48,51,58,59,73,80,88,90,91,95,96,97,104,105,109,114,115,116,118,119,123,124,126,127,131,134,135,136,144,151,152,154,159,166,170,175,177,179,185,188,203,204,205,206,209,217,218,219,220,221,233,238,242,247,251,252,267,276,299,316,318,321,326,327,328,330,334,337,338,341,344,345],result_nam:203,resum:[29,33,102,260],resurrect:231,resync:[146,276,306],ret:[33,170],ret_index:344,retain:[10,27,31,51,97,111,138,189,239,252,313,318,322,324,337,344],retext:38,retract:179,retreat:221,retri:267,retriev:[0,33,43,69,74,86,96,97,108,112,119,123,139,140,144,148,150,153,159,164,169,170,176,187,194,238,241,246,251,265,272,273,279,285,294,316,319,325,334,339,341,344,362],retriv:[146,323],retroact:[58,125],retur:52,return_appear:[49,60,122,123,182,187,206,232,247],return_cmdset:166,return_detail:[187,233],return_iter:251,return_key_and_categori:319,return_list:[1,316,319],return_map:111,return_minimap:111,return_obj:[1,11,87,316,319,339],return_par:252,return_prototyp:120,return_puppet:144,return_tagobj:319,return_tupl:[87,185,316],returnv:33,returnvalu:10,reus:[25,334],reusabl:122,rev342453534:344,reveal:182,revers:[29,31,33,39,111,114,121,126,134,148,164,177,235,239,246,256,312,316,318,319,321,335],reverseerror:[267,276],reversemanytoonedescriptor:[148,246,335],reverseproxyresourc:312,revert:[43,90,126,131,156,238],review:[0,31,37,41,64,70,128,135],revis:61,revisit:[36,328],reviu:51,revok:58,revolutionari:131,rework:[29,61],rewritemim:70,rfc1073:283,rfc858:289,rfc:[283,289],rfind:321,rgb:[114,321],rgbmatch:321,rhel:8,rhostmush:[57,108,129],rhs:[25,58,167,170],rhs_split:[159,165,167],rhslist:167,ricardo:344,riccardomurri:344,rich:[22,57,78,79,325],richard:79,rick:109,rid:[56,119,139],riddanc:12,ridden:[1,96],riddick:188,ride:121,right:[0,5,8,10,14,20,21,23,25,28,29,33,38,39,41,42,43,46,51,55,56,57,58,60,61,63,68,74,75,76,80,85,87,90,91,96,101,102,109,111,114,117,119,121,123,126,127,128,133,134,137,138,145,153,156,159,167,175,181,187,188,190,195,196,203,221,226,231,232,233,235,242,252,256,307,321,322,326,330,344,345],right_justifi:109,rigid:57,rindex:321,ring:205,ripe:96,rise:[31,62],risen:62,risk:[38,43,57,63,90,123,138,158,169,344],rival:111,rjust:321,rm_attr:159,rnormal:114,rnote:[43,169],road:[31,46,111,121,152],roadmap:[45,139,364],roam:[122,153,231],roar:111,robot:[77,133],robust:[85,91,103],rock:[6,60,86,116,124,153],rocki:122,rod:153,role:[17,23,55,57,61,73,91,217],roleplai:[9,11,57,61,68,73,79,116,123,139,185,206,364],roll1:73,roll2:73,roll:[11,58,61,63,73,91,114,116,123,185,217,218,219,220,221,310],roll_challeng:73,roll_dic:185,roll_dmg:73,roll_hit:73,roll_init:[217,218,219,220,221],roll_result:185,roll_skil:73,roller:[73,116,185],rom:79,roof:[43,159],room1:127,room56:13,room:[9,12,13,14,15,20,21,22,27,31,33,42,43,44,45,46,53,55,56,57,59,62,63,64,73,77,80,85,91,96,102,104,108,109,111,112,116,117,118,119,120,121,122,123,124,125,127,129,132,133,140,141,142,150,151,152,153,157,159,165,170,178,180,182,185,187,194,206,212,213,214,217,218,219,220,221,226,229,230,231,232,234,235,241,247,256,271,299,322,342,360,364],room_count:119,room_flag:56,room_lava:56,room_typeclass:[235,342,360],roombuildingmenu:[22,180],roomnam:[43,58,159],roomobj:119,roomref:121,root:[9,13,22,23,36,47,53,63,64,69,75,78,80,81,86,89,90,93,96,97,100,106,128,130,134,135,136,232,247,252,267,312,325,364],rose:[11,87,89,125],roster:[9,217,218,219,220,221],rosterentri:9,rot:127,rotat:337,rotate_log_fil:337,rotatelength:337,roughli:[58,61,94,96,344],round:[17,205,221,330],rounder:205,rout:[5,20,49,56,121,137,144],router:90,routin:[206,302,341,344],row:[0,3,16,25,38,49,58,64,69,86,111,114,116,126,137,330,344],rpcharact:206,rpcommand:206,rpg:[58,60,73,124,185,221],rpi:79,rplanguag:[141,142,178,206],rpm:63,rpobject:206,rpsystem:[38,141,142,178,202,205],rpsystemcmdset:206,rred:321,rsa:[287,288],rspli8t:91,rsplit:[123,321],rsrc:70,rss2chan:[98,164],rss:[7,43,55,79,128,139,141,142,146,164,172,262,272,275,285,364],rss_enabl:[98,164],rss_rate:146,rss_update_interv:[43,164],rss_url:[43,98,146,164],rssbot:146,rssbotfactori:286,rsschan:[43,164],rssfactori:286,rssreader:286,rst:38,rstop:169,rstrip:[91,321],rsyslog:209,rtest2:114,rtext:85,rthe:22,rthi:114,rtype:312,rubbish:[43,156],rubi:64,rudimentari:231,ruin:[122,187,233],rule:[12,13,14,21,33,47,55,58,61,68,77,79,80,96,114,124,126,127,131,139,180,204,205,217,218,221,239,322,364],rulebook:116,rumour:122,run:[0,2,3,5,6,8,9,10,11,13,14,15,20,21,23,24,26,27,28,29,31,35,36,38,40,43,45,46,47,51,53,54,56,57,59,60,61,62,63,64,67,68,69,72,73,76,79,80,81,83,85,86,90,91,92,93,95,96,97,101,102,103,104,109,110,111,115,119,121,122,123,124,125,126,128,130,131,132,133,134,136,137,138,139,141,144,146,150,151,153,154,158,159,164,165,166,169,170,175,195,196,206,209,213,215,217,218,219,220,221,230,235,241,242,247,251,252,256,259,260,261,267,271,273,277,284,285,292,296,298,301,305,306,310,312,318,321,322,326,328,329,331,337,341,342,344,362,363,364],run_async:[10,344],run_connect_wizard:267,run_dummyrunn:267,run_exec:328,run_exec_then_goto:328,run_init_hook:305,run_initial_setup:305,run_menu:267,run_start_hook:[60,125,318],runexec:328,runexec_kwarg:328,runnabl:109,runner:[36,106,232,298],runsnak:93,runtest:[170,196,211,228,293,303,335,342,352,360],runtim:[12,27,33,62,154,180,234,331,344],runtimeerror:[73,144,146,192,195,198,204,205,251,285,316,328,344],runtimewarn:251,rusernam:51,rush:29,rusti:85,ruv:36,ryou:22,sad:[133,290,328],safe:[11,26,30,31,43,46,56,60,64,82,89,97,104,131,133,144,156,179,242,261,276,308,312,318,322,325,334,344],safe_convert_input:344,safe_convert_to_typ:344,safe_ev:344,safer:[12,13],safest:[0,90,105,318],safeti:[2,43,56,89,90,123,125,139,159,179,246,322],sai:[0,5,6,10,12,14,17,20,22,25,26,27,29,31,33,39,40,41,44,46,51,56,57,58,60,61,62,63,64,69,73,77,78,80,89,90,91,93,96,109,114,116,117,118,119,123,125,126,127,128,129,131,137,138,139,140,153,165,175,179,181,185,188,198,205,206,215,226,233,247,328],said:[0,4,10,22,26,43,44,46,49,51,57,83,91,96,111,112,118,127,134,151,164,168,206,235,247,279,318,328],sake:[13,43,57,126,135,171,186,362],sale:85,same:[0,2,5,6,9,10,11,12,13,14,15,16,19,20,21,22,23,26,27,28,29,31,33,34,37,38,40,41,42,43,44,50,55,57,58,59,60,61,62,63,64,66,69,73,74,78,80,81,83,84,85,86,88,89,90,91,95,96,97,98,100,102,104,105,106,108,109,110,111,112,113,114,115,116,119,121,123,125,126,127,128,131,133,134,136,138,144,150,151,152,153,154,157,159,164,167,168,169,170,180,182,184,187,190,194,195,199,204,205,206,212,214,215,217,218,219,220,221,231,233,234,235,241,247,251,252,256,257,261,271,276,288,291,292,306,307,308,310,312,315,316,317,318,319,321,322,324,328,329,330,331,337,338,344,357,362],sampl:[8,36,56,100,215],san:190,sand:62,sandi:111,sane:[61,79,96,362],sanit:[357,362],saniti:[9,49,111,127,139,338],sarah:[43,129,165],sat:[21,140],satisfi:[108,167,316],satur:103,save:[0,1,9,15,21,22,24,27,29,33,34,36,41,42,43,46,48,50,51,54,56,64,67,84,86,87,89,95,97,100,102,103,105,107,109,110,112,115,116,123,125,127,131,133,138,144,145,156,159,169,173,175,177,180,195,205,242,244,246,247,249,251,252,254,257,259,260,261,265,272,285,299,300,305,312,315,316,318,325,326,334,338,339,340,344],save_a:[173,237,244,254,263],save_as_new:315,save_buff:326,save_data:338,save_for_next:[33,154],save_handl:338,save_kwarg:339,save_model:[145,173,244,254],save_nam:261,save_on_top:[173,237,244,254,263],save_prototyp:251,save_recip:203,savefunc:[50,326,339],savehandl:339,saver:325,saverdict:325,saverlist:325,saverset:325,saveyesnocmdset:326,saw:[10,46,69],say_text:118,saytext:206,scale:[23,57,61,73,106,114,205],scalewai:90,scan:[8,150,231,233],scarf:182,scatter:[219,322],scedul:331,scenario:58,scene:[11,21,38,55,59,61,73,74,97,109,112,114,116,122,126,204,233,256,261,334],schedul:[27,62,184,195,260,331],schema:[4,64,86,125,131,344],scheme:[28,33,43,63,86,114,159,169,321],scienc:[49,124],scientif:79,scissor:116,scm:9,scope:[29,55,64,74,124,134,138,204,324],score:[58,60,344],scraper:362,scratch:[40,46,57,58,61,63,123,124,128,136,139],scream:122,screen:[7,16,18,33,43,51,52,61,66,74,81,85,97,100,101,104,105,109,114,127,133,138,139,145,171,186,190,221,272,287,329,344,364],screenheight:[74,272],screenread:[74,272,295,296],screenshot2017:101,screenshot:[55,133,139,364],screenwidth:[74,154,272],script:[6,11,13,14,20,27,36,45,47,53,55,56,57,59,61,62,63,71,80,84,85,86,89,90,93,103,104,105,106,107,108,109,110,112,115,116,117,119,120,122,125,130,132,133,137,138,139,141,142,144,146,158,159,169,176,177,178,179,184,187,191,192,198,203,204,205,213,217,218,219,220,221,223,226,233,235,241,246,247,251,252,267,300,305,322,323,324,331,339,341,342,344,360,364],script_path:[43,159],script_search:59,script_typeclass:[228,342,360],scriptattributeinlin:254,scriptbas:259,scriptclass:258,scriptdb:[53,119,125,141,254,256,314],scriptdb_db_attribut:254,scriptdb_db_tag:254,scriptdb_set:[148,246,316,319],scriptdbadmin:254,scriptdbmanag:[255,256],scripthandl:[141,142,253],scriptkei:[43,159],scriptmanag:255,scriptnam:323,scripttaginlin:254,scroll:[20,45,52,63,77,95,96,97,123,138,329],scrub:308,scrypt:102,sdesc:[56,202,206],sdesc_regex:206,sdescerror:206,sdeschandl:206,sdk:63,sea:[111,122],seamless:206,seamlessli:[92,102],search:[0,2,9,13,21,22,30,33,41,42,43,48,50,55,58,59,60,64,68,70,73,76,87,89,94,96,102,104,109,116,123,124,125,127,131,134,136,139,140,141,142,144,150,152,154,159,164,166,169,175,176,179,194,199,203,206,217,218,219,220,221,233,235,238,239,241,247,251,258,273,316,317,318,319,320,321,324,326,344,363,364],search_:[27,59],search_account:[58,107,119,141,247,341],search_account_attribut:119,search_account_tag:[119,341],search_at_multimatch_input:247,search_at_result:[206,247],search_attribute_object:119,search_channel:[41,119,141,164,176,341],search_channel_tag:[119,341],search_field:[173,237,244,254,263,315],search_for_obj:159,search_help:[119,141,238],search_help_entri:341,search_helpentri:238,search_index_entri:[154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,247,326,328,329],search_messag:[119,141,176,341],search_mod:206,search_multimatch_regex:247,search_object:[11,13,27,111,119,121,125,141,144,341],search_object_attribut:119,search_objects_with_prototyp:251,search_prototyp:251,search_script:[59,102,119,141,341],search_script_tag:[119,341],search_tag:[48,112,119,140,141,341],search_tag_account:112,search_tag_script:112,search_target:199,searchabl:194,searchdata:[144,206,247,341],searchstr:68,season:[61,187],sec:[10,29,62,74,184,279,331],secmsg:337,second:[0,10,11,14,16,21,22,25,27,29,31,33,38,39,41,43,51,62,63,69,80,85,86,88,90,91,95,100,102,103,104,109,110,114,115,116,119,120,121,123,126,127,132,134,144,146,151,159,164,170,184,194,195,198,206,213,217,218,219,220,221,223,231,241,247,252,260,261,267,272,281,286,299,310,321,324,328,331,337,344,345],secondari:[81,307],secondli:89,secreci:131,secret:[9,23,65,71,185,267],secret_kei:9,secret_set:[4,9,23,65,267],sect_insid:49,section:[1,4,9,11,15,18,21,22,23,25,26,29,31,33,35,36,38,39,40,48,51,58,60,62,63,68,69,75,77,80,86,89,90,93,95,96,100,111,113,119,124,125,127,133,137,138,139,166,187,205,252,321,322,328,345],sector:49,sector_typ:49,secur:[7,11,13,22,26,37,41,43,57,63,80,85,90,96,108,109,114,123,133,134,139,141,142,158,169,175,178,239,247,287,318,337,344,357,364],secure_attr:80,sed:36,see:[0,1,2,3,4,5,8,9,10,11,12,13,14,19,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,37,38,39,40,41,42,43,44,46,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,68,70,71,72,74,75,76,80,81,82,83,86,87,88,89,90,91,93,95,96,98,100,101,102,103,104,105,106,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,144,154,156,158,159,164,165,166,167,170,175,178,179,180,186,190,192,199,203,204,205,206,210,213,214,215,217,218,219,220,221,223,226,231,233,234,235,241,246,247,260,265,267,269,270,278,279,280,281,283,287,288,290,292,294,295,296,298,299,307,308,312,316,321,324,325,326,327,330,339,340,344,351,357,362],seek:[122,242,337],seem:[4,22,24,31,39,41,56,61,63,75,94,109,110,119,121,122,123,137,138,316,322],seen:[0,22,29,31,34,40,46,49,51,57,58,69,81,91,95,96,102,105,111,119,120,121,126,127,131,180,279,330],sefsefiwwj3:9,segment:[121,312],seldomli:[154,170],select:[2,20,22,27,31,38,43,51,54,63,69,77,80,85,86,104,105,106,111,119,120,123,131,133,137,138,140,151,152,157,166,215,218,318,326,328],selet:328,self:[0,1,2,5,6,9,10,11,13,20,21,22,25,27,28,29,30,31,33,38,39,40,41,42,43,44,49,50,51,56,57,58,59,60,62,63,71,72,73,76,77,80,81,82,85,86,87,89,95,96,102,109,115,116,117,118,119,120,121,123,125,127,129,132,134,144,146,148,150,152,153,154,156,159,160,164,167,169,170,175,177,179,180,181,182,185,187,188,192,199,202,203,206,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,247,260,265,267,269,270,274,278,279,285,287,288,290,292,294,295,296,306,307,308,316,318,319,321,326,328,329,334,338,339,340,344,351],self_pid:344,selfaccount:58,sell:[78,85,179],semi:[93,132,138,205],semicolon:[80,242,324],send:[2,12,22,25,27,29,33,34,41,43,51,52,58,59,61,64,67,70,71,73,74,76,80,81,83,89,91,93,95,96,102,103,105,107,110,113,114,115,116,118,120,123,126,133,137,138,139,140,144,146,153,154,157,164,170,175,176,177,179,188,189,199,206,210,221,223,230,231,241,247,260,261,264,267,269,270,272,276,277,278,279,280,282,285,286,287,289,290,291,293,295,296,298,306,307,308,309,321,324,325,328,330,344],send_:[40,83,285],send_adminportal2serv:277,send_adminserver2port:264,send_authent:278,send_channel:[278,279],send_default:[40,83,278,279,285,287,290,295,296],send_defeated_to:231,send_emot:206,send_functioncal:276,send_game_detail:269,send_heartbeat:278,send_instruct:267,send_mail:199,send_msgportal2serv:277,send_msgserver2port:264,send_p:279,send_privmsg:279,send_prompt:[287,290,295,296],send_random_messag:223,send_reconnect:279,send_request_nicklist:279,send_status2launch:277,send_subscrib:278,send_testing_tag:230,send_text:[40,83,287,290,295,296],send_to_online_onli:175,send_unsubscrib:278,sender:[34,41,43,107,144,146,175,176,177,179,206,247,278,309,324,334,341],sender_account_set:148,sender_extern:177,sender_object:309,sender_object_set:246,sender_script_set:256,sender_str:175,sendernam:43,senderobj:324,sendlin:[287,290,295],sendmessag:[40,188],sens:[1,10,22,31,37,56,58,80,86,89,96,102,121,138,152,226,324,325,328],sensibl:[90,271],sensit:[11,51,58,80,176,180,184,187,195,210,211,238,317,331,341],sensivit:204,sent:[25,34,51,58,69,74,83,88,91,105,107,113,114,119,137,138,144,146,150,164,166,170,175,176,177,180,186,188,195,199,210,228,234,247,264,267,269,272,276,277,278,279,287,291,295,306,308,316,328,341],sentenc:[46,91,198,205,206],sep:[321,344],sep_kei:[22,180],separ:[8,11,13,14,20,23,29,31,33,37,40,43,46,48,51,57,58,61,62,64,71,72,75,77,80,84,85,86,87,89,91,92,93,95,96,98,101,102,103,105,106,112,114,115,119,121,123,126,129,131,133,136,137,138,140,151,153,154,159,165,166,167,169,170,180,195,198,199,205,206,215,217,218,219,220,221,233,235,238,242,246,247,251,257,261,286,291,296,308,321,322,324,327,341,344],separatli:29,seq:87,sequenc:[10,13,14,15,33,64,80,81,87,89,113,126,154,158,170,175,184,206,242,265,271,321,322,328,330,343,344],seri:[51,61,79,114,131,136,138,330],serial:[11,83,138,250,260,261,285,325,338,340,344],serializ:296,seriou:[39,110],serious:63,serv:[45,49,55,64,83,101,103,104,111,135,152,219,296,312,322,324,355],server:[0,2,4,9,10,11,12,13,15,19,21,25,26,27,28,29,31,33,34,35,36,37,38,40,41,45,47,51,53,54,55,56,57,58,59,60,62,63,64,65,66,67,69,70,71,72,73,74,75,78,79,80,81,83,84,86,88,89,91,93,94,95,96,97,100,101,102,103,106,107,109,110,111,113,114,115,116,118,121,122,124,125,127,128,130,131,133,134,135,136,137,138,139,141,142,144,146,153,157,159,164,169,171,175,178,180,183,186,187,195,202,206,207,208,209,212,213,231,232,233,235,247,256,257,259,261,313,318,322,324,325,328,331,334,337,344,346,363,364],server_connect:285,server_disconnect:285,server_disconnect_al:285,server_epoch:[27,331],server_l:277,server_logged_in:285,server_nam:104,server_pid:[277,344],server_receive_adminportal2serv:264,server_receive_msgportal2serv:264,server_receive_statu:264,server_reload:[257,261],server_run:267,server_runn:305,server_servic:344,server_services_plugin:[40,104],server_services_plugin_modul:40,server_session_class:105,server_session_sync:285,server_st:267,server_twistd_cmd:277,server_twisted_cmd:277,serverconf:[157,261],serverconfig:[260,261,273,274],serverconfigadmin:263,serverconfigmanag:[273,274],serverfactori:[277,287,290],serverload:[43,169],serverlogobserv:337,servermsg:337,servernam:[4,8,9,54,74,90,104],serverprocess:[43,169],serversess:[40,105,114,141,142,210,242,262,285,308,316],serversessionhandl:[40,105,308],serverset:[43,80,164,241],servic:[12,23,40,45,67,71,90,94,100,103,104,110,131,133,141,142,169,262,264,267,268,276,277,284,305,312,344],sessdata:[307,308],sessid:[2,33,105,123,246,247,264,276,277,285,308],session:[2,12,15,24,31,33,40,45,47,51,53,57,70,74,81,84,88,89,91,96,100,107,114,123,127,138,139,141,142,144,146,148,150,151,152,154,156,157,160,162,166,167,171,186,188,189,209,210,211,230,246,247,249,250,251,257,262,264,272,276,277,278,279,285,286,287,290,295,296,305,306,308,310,326,328,329,344,345,364],session_data:308,session_from_account:308,session_from_sessid:308,session_handl:[105,141],session_portal_partial_sync:308,session_portal_sync:308,sessioncmdset:[31,43,162],sessionhandl:[40,83,141,142,144,247,262,272,278,279,285,286,306,307],sessionid:285,sessions_from_account:308,sessions_from_charact:308,sessions_from_csessid:[285,308],sessions_from_puppet:308,sesslen:247,set:[0,2,3,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,29,30,32,33,34,35,36,37,38,39,40,41,42,44,45,46,47,50,52,53,55,56,57,58,59,60,61,63,64,66,67,68,69,71,74,75,76,82,83,85,86,87,89,91,93,95,96,97,100,102,105,107,108,109,110,111,112,113,114,116,117,119,120,121,124,125,126,128,129,130,133,134,135,136,137,138,139,141,143,144,146,148,150,151,152,153,154,156,157,159,160,161,162,163,164,166,167,170,172,175,180,181,182,183,184,185,186,187,188,189,193,195,198,202,203,205,206,209,212,213,215,217,218,219,220,221,226,228,230,231,232,233,234,235,237,241,242,246,247,250,251,252,258,259,260,261,264,266,267,271,272,273,274,277,278,280,281,283,284,287,289,290,292,293,298,299,301,303,305,306,307,308,310,312,313,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,335,337,338,339,340,341,342,343,344,345,350,357,360,364],set_active_coordin:235,set_al:231,set_alias:154,set_attr:159,set_cach:316,set_class_from_typeclass:318,set_dead:231,set_desc:164,set_descript:51,set_detail:[187,233],set_game_name_and_slogan:350,set_gamedir:267,set_kei:154,set_lock:164,set_log_filenam:175,set_nam:51,set_password:144,set_task:195,set_trac:[42,141],set_webclient_set:350,setcolor:81,setdesc:[57,165,212],setgend:189,sethelp:[20,68,166],sethom:159,setlock:212,setnam:40,setobjalia:[43,159],setperm:[43,157],setspe:213,sett:98,settabl:[74,86,290],setter:39,settestattr:50,settingnam:80,settings_chang:107,settings_default:[4,5,34,47,104,127,141,142,337,344],settings_ful:104,settings_mixin:[141,142,262,297],settl:[111,116],setup:[5,15,18,26,40,47,61,63,67,71,85,93,96,100,116,120,127,129,131,138,139,144,156,164,170,184,196,226,228,230,233,247,259,271,284,293,298,302,303,305,312,316,318,334,335,342,360,364],setup_str:302,setuptool:[63,75],sever:[0,11,14,19,22,29,31,33,36,41,42,43,48,50,52,55,56,57,59,62,69,79,80,102,104,109,113,116,119,125,137,158,159,167,169,187,194,195,231,233,247,293,294,319,324,344],sex:189,shall:[126,134],shaman:[57,109],shape:[20,22,39,58,61,111,235,330],sharabl:109,share:[9,25,31,36,37,42,46,57,59,63,64,65,80,86,90,102,103,105,112,116,119,125,133,135,145,194,195,252,261,298,316,317,319,330,344,351],sharedloginmiddlewar:351,sharedmemorymanag:[317,333],sharedmemorymodel:[177,239,316,318,334,335],sharedmemorymodelbas:[148,177,239,246,256,316,318,334,335],sharedmemorystest:335,shaw:[77,79],she:[0,22,33,56,91,126,180,189,205],sheer:[43,159],sheet:[23,38,51,133,134,137,327],sheet_lock:58,shell:[7,23,25,26,36,57,58,59,60,63,75,86,87,90,100,103,108,110,125,128,287,316],shield:[29,77,86],shift:[14,15,27,108,195,232,238,344],shiftroot:232,shine:[21,233],shini:344,ship:[55,64,75,79,111],shire:62,shirt:182,shoe:182,shoot:[21,220,221,327],shop:[51,57,108,124,139,364],shop_exit:85,shopcmdset:85,shopnam:85,shopper:85,short_descript:54,shortcom:85,shortcut:[0,3,22,23,27,29,31,33,38,43,47,59,69,91,96,100,107,116,119,125,129,133,134,141,146,153,154,159,164,180,192,235,242,247,338,344],shorten:[42,46,125,252],shorter:[40,61,104,108,117,118,125,132,175,205,316,317,324,337],shortest:[39,206],shorthand:[43,89,126,159],shortli:[0,22,77],shot:220,should:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,19,20,22,23,24,25,26,27,29,31,33,34,37,38,39,40,41,42,43,46,47,48,51,55,57,58,59,60,61,62,63,64,65,66,67,68,69,72,73,74,75,76,77,80,81,82,83,85,86,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,119,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,144,146,148,150,152,153,154,156,158,159,160,163,164,166,167,169,170,175,177,180,182,184,187,192,195,198,199,202,203,204,205,206,209,217,218,219,220,221,230,231,233,234,241,242,246,247,249,251,252,256,259,260,261,265,266,267,271,274,278,284,287,290,291,293,295,296,299,305,306,307,308,310,311,313,315,316,318,319,321,322,324,325,326,328,329,330,331,337,338,339,340,342,344,345,357,360,362],should_join:175,should_leav:175,should_list_cmd:166,shoulddrop:[221,247],shoulder:[58,182],shouldget:[221,247],shouldgiv:[221,247],shouldmov:[217,218,219,220,221,247],shouldn:[0,13,21,22,29,41,48,58,93,126,166,180,195,198,220,298],shouldrot:337,shout:29,shove:21,show:[0,12,13,14,20,22,24,26,27,30,33,35,37,38,39,40,42,43,46,48,49,52,54,55,57,58,60,61,62,63,64,68,69,70,71,73,81,82,85,86,90,91,95,96,97,98,101,102,103,104,105,106,110,111,114,116,117,118,119,120,122,124,126,127,128,129,131,133,134,136,137,138,139,144,156,157,159,164,165,166,167,169,171,179,181,182,185,186,187,188,190,202,215,220,221,226,233,234,235,247,249,251,252,265,267,276,326,328,337,338,339,344,357],show_foot:329,show_map:49,show_non_edit:251,show_non_us:251,show_valu:190,show_version_info:267,show_warn:267,showcas:[31,111],shown:[0,4,9,22,25,29,35,41,43,49,51,54,57,62,68,109,114,121,133,138,154,157,164,166,168,170,180,182,204,206,226,232,247,267,328,329],showtim:62,shrink:330,shrug:46,shrunk:101,shuffl:27,shun:[26,90,108],shut:[0,4,29,43,93,100,102,104,137,144,169,247,259,261,267,269,276,277,284,285,305,308],shutdown:[12,19,31,58,93,102,105,110,144,146,169,261,267,276,277,284,305,306,318,324,328],shy:[26,61,129],sibl:[10,57,96,102],sid:[43,157],side:[0,1,11,24,36,38,43,48,49,58,73,74,83,91,105,112,119,126,127,133,137,138,144,146,148,165,167,177,179,185,212,239,246,256,264,276,277,285,288,291,292,295,306,307,308,316,318,319,321,330,335],sidestep:19,sidewai:330,sigint:267,sign:[0,14,20,46,83,90,91,106,115,123,132,164,187,247,261,316,321,345],signal:[45,93,110,139,141,142,217,218,219,220,221,262,267,290,296,298,334,364],signal_acccount_post_first_login:107,signal_account_:107,signal_account_post_connect:107,signal_account_post_cr:107,signal_account_post_last_logout:107,signal_account_post_login:107,signal_account_post_login_fail:107,signal_account_post_logout:107,signal_account_post_renam:107,signal_channel_post_cr:107,signal_helpentry_post_cr:107,signal_object_:107,signal_object_post_cr:107,signal_object_post_puppet:107,signal_object_post_unpuppet:107,signal_script_post_cr:107,signal_typed_object_post_renam:107,signatur:[33,73,154,192,260,265,267,269,270,278,287,288,290,292,295,296,316,321,328,339,340,351],signed_integ:345,signedinteg:338,signedon:279,signifi:[14,241,316],signific:[97,170],significantli:50,signup:4,silenc:[164,269],silenced_system_check:127,silent:[10,43,62,118,157,164,226,271,279],silli:[60,89,96,109],silvren:[55,90],similar:[0,11,13,20,21,22,25,33,41,48,51,55,58,64,67,68,73,77,86,89,90,96,102,106,121,125,129,136,137,140,144,154,156,170,175,180,188,205,217,218,219,220,221,235,239,247,308,319,324,328,344,362],similarli:[58,62,90,112,218,234,315],simpl:[0,2,4,5,6,9,10,13,14,15,17,25,26,28,30,31,33,35,38,39,40,41,43,46,49,50,55,56,57,58,59,60,61,64,67,69,70,73,74,76,77,81,85,86,88,89,90,91,95,96,98,100,103,105,108,109,111,112,116,117,118,119,120,122,123,124,126,132,133,135,139,159,175,179,180,181,186,187,188,189,194,199,203,204,205,206,212,213,214,215,217,218,219,220,221,223,226,231,232,233,235,236,246,247,252,259,277,286,288,322,323,328,344,354,355,357,364],simpledoor:[141,142,178],simplemu:24,simpler:[10,15,38,43,51,56,158,159,325,362],simpleresponsereceiv:269,simplest:[6,29,58,73,90,116,153,322,345],simpli:[5,8,11,12,13,17,20,21,22,23,25,29,31,37,38,39,40,41,47,49,51,55,58,59,61,63,71,72,73,80,81,83,85,96,102,103,104,109,112,114,118,121,123,125,127,128,131,132,138,140,144,152,153,154,170,171,175,180,186,187,196,206,213,215,217,218,219,220,221,226,232,239,247,285,316,318,322,323,327,329,344],simplic:[22,39,43,55,126,171,186,232],simplif:[45,116],simplifi:[10,69,94,100,111,116,118,192],simplist:[116,123,132,137,205,214],simul:[33,73,93,213],simultan:[58,88,116,344],sinc:[0,1,3,4,5,6,9,10,11,13,14,19,21,22,23,25,26,27,28,29,31,33,34,35,38,39,40,41,42,43,44,47,48,49,50,51,54,55,56,57,58,59,60,61,62,64,69,74,76,80,83,84,85,86,88,89,90,91,96,97,100,102,104,110,111,114,115,116,118,119,121,122,123,125,126,127,131,133,134,135,138,144,146,148,152,153,154,159,167,168,169,170,176,179,180,181,184,187,199,206,215,217,218,219,220,221,226,232,233,241,247,251,252,257,260,261,267,269,272,284,289,291,299,305,306,308,310,315,316,317,318,322,323,324,326,328,331,334,337,340,341,342,344,357],singl:[0,5,10,14,16,22,23,31,33,37,38,43,44,48,51,55,57,58,59,61,64,67,73,77,83,87,88,90,95,96,105,108,111,112,114,119,122,125,127,128,129,139,144,157,159,164,165,177,180,204,209,215,217,218,219,220,221,233,234,235,247,251,252,260,261,299,306,308,316,317,319,321,322,327,328,330,344,357],single_type_count:182,singleton:[84,105,115,257,260,323],singular:[58,61,247],sink:26,sint:52,sir:46,sit:[11,14,29,33,47,55,63,80,83,90,95,96,119,121,123,125,167,170,175,198,199,206,232,233,242,258,261,280,324,339,342],sitabl:125,sitat:233,site:[8,16,17,23,37,69,71,79,80,90,92,97,98,100,101,103,111,133,134,145,312,362],site_nam:59,situ:[11,318,325],situat:[0,6,11,22,33,37,42,43,46,62,76,83,86,102,105,119,125,131,153,154,159,194,334],six:[73,91,185,215],sixti:62,size:[16,24,42,49,58,97,101,108,111,137,138,141,235,269,283,321,327,329,330,334,337,344],size_limit:344,skeleton:123,sketch:[116,138],skill:[28,29,30,55,60,61,70,73,79,110,116,121,127,133,134,205,206,327],skill_combat:73,skillnam:73,skin:109,skip:[31,33,41,43,49,51,61,62,75,88,100,106,109,115,131,144,158,159,247,316,325,344],skipkei:296,skippabl:129,skull:109,sky:[102,132],slack:79,slam:188,slash:[20,38,41,55,73,116,122,232],slate:111,sleep:[10,29,33,73],slew:[61,73,75,322],slice:[119,156,321,329],slice_bright_bg:156,slice_bright_fg:156,slice_dark_bg:156,slice_dark_fg:156,slide:226,slight:[8,91,184,195],slightli:[42,62,63,79,116,123,145,177,187,218,234,362],slightly_smiling_fac:138,slip:343,slogan:9,slot:[58,134,187,188,218,220,252,344],slow:[27,116,176,213,231,235,251,280,286,321,341,344],slow_exit:[141,142,178],slower:[62,77,90,93],slowexit:213,slowli:79,slug:[175,239,318,362],slugifi:362,small:[4,14,15,16,25,30,33,37,55,57,58,61,63,69,70,79,81,85,90,91,93,96,97,98,108,111,122,123,124,127,128,139,185,220,226,235,290,326,327,330,344],smaller:[13,14,16,38,101,330],smallest:[58,62,80,90,184,205,327,344],smallshield:86,smart:[41,77,91,235],smarter:109,smash:[61,226],smell:61,smelli:109,smile:[33,43,165],smith:327,smithi:29,smoothi:203,smoothli:134,smush:48,snake:136,snap:82,snapshot:131,snazzi:78,sneak:242,snetworkmethodssupportunicodeobjectsaswellasstr:94,snippet:[10,13,21,31,43,55,64,80,109,114,139,169,276,343,344],snoop:103,snuff:26,social:[55,71],socializechat:299,soft:[4,64,139,205,364],softcod:[129,139],softli:78,softwar:[36,63,90,131],solar:62,soldier:85,sole:[57,69,146],solid:[49,55,114],solo:[20,63,124],solut:[0,9,14,25,27,29,39,56,69,73,85,90,91,103,111,115,118,121,122,125,127,138,168,242],solv:[21,27,44,49,61,63,77,97,111,203,232],some:[0,3,4,5,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,31,33,36,37,38,40,42,43,45,46,48,49,50,51,55,57,58,60,61,62,63,64,67,69,70,72,73,74,75,77,78,79,80,82,83,85,86,87,89,90,91,94,95,96,97,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,131,133,134,136,137,138,139,144,153,154,159,161,164,165,168,169,175,176,179,180,181,186,195,198,204,205,212,215,218,219,220,221,226,230,232,233,234,235,242,247,251,252,256,269,271,276,279,305,316,318,321,322,327,328,331,334,337,338,344,357,362],some_long_text_output:329,somebodi:[0,138],somehow:[33,40,73,80,87,90,113,140,182,326],someon:[0,1,29,33,43,46,48,49,58,60,80,85,90,96,103,107,115,117,118,119,138,144,165,182,226,231,232,247],somepassword:23,someplac:231,someth:[0,3,4,6,8,9,10,11,12,14,20,22,23,25,27,29,30,33,38,39,40,41,43,44,46,49,51,52,56,57,58,59,60,61,62,64,65,67,68,69,70,71,72,73,75,80,82,83,85,86,89,90,91,93,95,96,102,104,107,108,109,111,114,115,119,123,125,127,128,129,133,134,135,137,138,139,144,152,154,159,165,167,170,179,180,182,189,198,204,206,213,217,218,219,220,221,232,233,234,235,242,247,252,306,318,322,328,329,338,344,362],sometim:[6,22,27,33,40,42,50,51,60,62,64,80,86,91,93,95,96,102,109,110,119,136,138,166],somewhat:[4,22,41,57,127,138,180],somewher:[0,12,37,43,73,80,90,109,121,125,131,159,175,239,318,344],soon:[42,61,69,72,96,100,105,127,296,344],sophist:[10,27,55,108,116],sorl:4,sorri:[80,242],sort:[3,6,11,31,39,49,59,61,64,69,73,83,84,90,105,110,112,116,117,135,140,179,190,217,218,219,220,221,233,247,252,256,316,317,318,328,344,357,362],sort_kei:296,sought:[144,151,175,239,247,316,318],soul:111,sound:[22,29,37,58,61,80,82,83,102,104,111,115,131,138,205,291],sourc:[0,4,9,10,12,15,16,17,20,21,22,23,27,31,36,37,46,47,55,57,60,63,64,67,68,72,75,76,79,88,89,94,96,97,108,122,127,128,130,131,134,139,141,144,145,146,147,148,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,173,175,176,177,179,180,181,182,184,185,186,187,188,189,190,192,193,194,195,196,198,199,202,203,204,205,206,209,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,237,238,239,241,242,244,245,246,247,249,250,251,252,254,255,256,257,258,259,260,261,263,264,265,266,267,269,270,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,299,300,302,303,304,305,306,307,308,310,311,312,315,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,345,349,350,351,352,355,357,359,360,362,363],source_loc:[25,77,96,117,232,233,235,247],source_object:[171,186],sourceforg:[280,281,291,294],sourceurl:279,south:[0,22,43,44,49,111,121,159,299],south_north:111,southeast:159,southern:111,southwest:[20,43,159],space:[9,20,21,22,25,33,35,38,41,43,46,48,49,51,57,68,80,87,91,95,102,109,111,114,116,118,126,129,137,138,151,154,159,164,165,166,167,170,171,202,205,206,221,232,247,311,318,321,322,327,328,330,343,344],spaceship:121,spacestart:343,spaghetti:[13,328],spam:[12,28,103,116,138,164,310],spammi:[12,116],span:[16,17,108],spanish:76,spare:[217,218,219,220,221],spatial:111,spawen:203,spawn:[47,53,55,93,120,122,137,138,141,157,159,203,218,219,249,250,251,252],spawner:[18,45,89,120,139,141,142,159,219,220,248,250,364],spd:134,speak:[0,15,19,41,43,46,60,94,96,113,117,118,126,133,165,206,241,247],speaker:[46,205,206],spear:109,special:[2,10,11,13,14,15,19,20,25,26,27,30,31,33,35,37,41,42,51,58,60,61,64,69,76,77,80,81,83,85,86,88,89,95,102,103,104,107,111,112,113,114,116,119,122,123,125,127,131,134,137,146,148,150,153,165,168,187,189,206,215,219,220,232,233,235,242,244,247,271,272,295,316,318,322,328,343],specif:[0,2,4,9,11,12,22,23,24,25,26,27,31,33,36,37,38,39,40,41,42,43,46,47,50,51,53,55,56,59,61,62,64,67,69,77,78,79,80,82,87,88,89,90,91,95,96,100,105,107,110,111,112,115,116,119,121,122,123,124,125,126,127,131,132,133,134,135,137,138,144,145,150,157,159,169,177,178,179,180,192,193,194,195,199,204,206,238,241,247,257,267,272,279,295,296,306,316,318,321,322,326,328,329,330,344,362],specifi:[3,11,12,16,19,21,22,27,29,31,38,39,43,46,49,51,54,58,62,63,68,83,84,86,88,90,91,98,100,102,103,105,109,111,112,114,115,119,123,127,134,136,150,151,159,166,170,175,180,182,183,185,187,188,192,194,195,199,203,204,206,215,218,219,220,235,241,242,247,250,251,252,257,278,304,316,319,321,322,324,327,328,331,338,339,340,344,357,362],spectacular:42,speech:247,speechlock:241,speed:[11,47,62,82,86,87,93,116,134,213,252,285,319,341],spell:[15,19,28,57,60,109,112,215,220,252],spell_attack:220,spell_conjur:220,spell_heal:220,spell_nam:220,spellnam:220,spend:[39,89,91,119,217,218,219,220,221],spend_act:[217,218,219,220,221],spend_item_us:219,spent:220,sphinx:38,spin:[62,90,170],spit:[3,60,116],splashscreen:186,split:[9,25,31,33,41,58,91,104,105,111,118,121,123,131,136,138,151,167,184,232,235,249,293,308,321,322,331],split_2:138,split_nested_attr:159,splithandl:138,spoken:[0,46,72,205,206,247],spoof:315,spool:63,sport:87,spot:[57,64,144],spread:[70,73,109],spring:[82,124,187],sprint:213,sprofil:267,spunki:77,spyrit:24,sql:[7,36,56,57,64,86,125,139,302,364],sqlite3:[25,55,64,86,123,127,128,131,344],sqlite3_prep:305,sqlite:[23,86,128,305],sqllite:36,sqrt:39,squar:[38,39,129],squeez:86,src:[10,17,20,59,75,80,89,100,102,133,137,139,210],srcobj:[154,167],srun:271,srv:36,ssessionhandl:83,ssh:[9,25,40,55,64,83,90,94,105,110,141,142,262,275,306,307],ssh_interfac:90,ssh_port:90,sshd:103,sshfactori:287,sshprotocol:287,sshserverfactori:287,sshuserauthserv:287,ssl:[7,8,43,55,64,67,83,88,94,141,142,146,164,262,275,279,292,307],ssl_context:[288,292],ssl_interfac:90,ssl_port:90,sslcertificatefil:8,sslcertificatekeyfil:8,sslciphersuit:8,sslengin:8,ssllab:8,sslprotocol:[8,288,292],ssltest:8,sslv3:67,sta:327,stab:[29,122,232],stabil:[61,170,205],stabl:[37,40,56,60,100],stabli:[97,261],stack:[13,31,61,121,137,145,152,153,247,251,308,328],stackedinlin:145,stackexchang:127,stackoverflow:127,stacktrac:251,staf:108,staff:[9,19,25,57,61,68,73,80,108,109,111,123,133,152,252,322],staff_onli:239,staffer:9,staffernam:9,stage:[2,36,56,61,77,111,123,131,133,145,173,244],stagger:279,stai:[1,31,49,51,63,90,91,121,125,126,138,235],stale:[100,125,260],stale_timeout:260,stalker:362,stamina:[30,190,220],stamp:[27,43,96,105,125,137,144,148,157,169,246,256,299,304,318],stanc:[116,206,247],stand:[13,17,20,21,22,25,29,38,43,49,56,61,63,72,73,80,86,90,95,96,111,116,121,122,123,127,131,133,138,165,179,206,231,247,256,261,298,319,322,324,330],standalon:[67,103],standard:[0,1,6,8,9,15,21,27,30,41,43,50,57,58,59,63,64,79,83,88,91,95,103,113,114,116,120,126,131,136,139,141,144,156,185,186,206,234,241,247,287,289,294,311,316,321,330,331,345,364],stanza:277,star:[43,159],stare:131,start:[0,1,2,3,4,5,7,12,13,14,15,16,18,20,21,23,25,26,27,29,31,33,34,38,39,40,41,42,43,44,45,47,48,49,50,51,54,55,57,59,60,61,62,64,65,66,67,69,70,72,73,74,75,76,77,79,80,83,84,86,87,90,91,93,95,96,97,98,101,102,103,104,105,106,107,108,109,111,114,116,119,120,121,123,124,125,127,128,130,131,132,133,136,137,138,139,144,146,151,152,158,159,164,165,166,167,168,169,170,175,179,180,185,187,188,189,190,195,205,206,215,217,218,219,220,221,226,230,231,233,235,247,249,251,256,258,259,260,261,264,267,269,271,272,277,278,279,280,284,285,286,291,292,298,304,305,308,312,317,321,322,323,324,326,328,329,330,331,337,344,363,364],start_all_dummy_cli:298,start_attack:231,start_bot_sess:308,start_delai:[102,116,120,121,256,261,324],start_driv:121,start_evennia:267,start_hunt:231,start_idl:231,start_index:164,start_lines1:267,start_lines2:267,start_loc_on_grid:49,start_olc:249,start_only_serv:267,start_ov:51,start_patrol:231,start_plugin_servic:40,start_portal_interact:267,start_serv:277,start_server_interact:267,start_sunrise_ev:62,start_text:215,start_turn:[217,218,219,220,221],startapp:[69,86,133,134],startclr:114,startedconnect:[264,278,279],starter:[9,136],starthour:25,startnod:[51,85,188,230,249,328],startnode_input:[51,188,230,249,328],startproduc:269,startservic:[270,312],startset:233,startswith:[41,43,84,159,170,321],starttupl:287,startup:[11,35,40,60,62,90,102,104,136,247,256,259,296,305,337,344],stat:[17,43,60,61,71,85,116,123,133,134,136,139,169,179,217,218,219,220,221,364],state:[11,13,14,31,33,42,43,50,51,55,56,64,80,95,100,102,105,110,114,116,121,122,126,127,131,137,138,144,150,152,153,156,163,171,175,212,217,218,219,220,221,226,231,233,252,256,258,259,261,267,287,316,326,328],state_unlog:163,statefultelnetprotocol:[290,298],statement:[10,13,14,27,31,42,49,51,55,58,59,83,86,94,95,96,118,119,124,226,322,343],static_overrid:[135,136,137],static_root:136,statict:[43,169],station:121,stationari:231,statist:[3,12,43,104,105,120,124,135,169,190,300,317,334],statu:[20,29,51,58,61,88,90,104,105,115,131,179,219,220,221,231,261,265,267,276,277,278,281,295,364],status:61,status_cod:269,stderr:234,stdin_open:100,stdout:[59,100,234,267,337],steadi:64,steal:[43,85,166],steer:121,step1:29,step2:29,step3:29,step:[0,4,7,8,13,14,21,23,29,31,33,36,38,39,41,43,45,46,50,51,58,63,69,73,77,82,85,86,91,97,100,102,106,108,121,122,123,126,127,128,134,138,139,158,164,180,233,261,271,283,294,298,299,308,318,322,325,326,328,329,363,364],stick:[15,33,38,43,51,63,113,157],still:[0,1,4,6,9,11,13,14,15,19,20,22,25,26,29,31,33,37,38,39,40,41,43,49,55,57,58,60,62,63,64,77,78,79,83,91,94,95,96,102,103,105,106,107,108,110,114,121,122,123,125,126,128,131,134,138,152,159,164,166,175,186,215,217,218,219,220,221,230,233,235,247,251,258,299,328,330,331,340,344],sting:111,stock:[34,55,85,101,210,357],stolen:[103,321],stone:[20,33,60],stoni:60,stop:[7,9,10,12,14,20,25,27,29,34,41,42,43,49,51,57,58,62,63,67,74,77,80,82,89,90,93,95,96,100,102,104,105,106,108,115,116,120,121,123,128,137,139,156,159,164,169,175,179,184,194,196,206,212,213,218,221,226,247,258,259,260,261,266,267,269,272,284,285,305,306,312,321,322,324,344,364],stop_driv:121,stop_evennia:267,stop_serv:277,stop_server_onli:267,stopproduc:269,stopservic:[270,312],storag:[11,13,23,28,29,33,43,47,56,64,73,85,86,96,102,125,133,138,148,169,177,198,205,235,242,246,247,251,252,256,259,261,274,310,314,316,318,323,338,339],storage_modul:323,storagecontain:102,storagescript:102,store:[0,2,9,13,15,21,23,27,28,29,31,33,34,37,39,40,41,43,44,46,47,49,50,55,56,57,58,60,61,64,69,73,75,80,82,85,86,87,89,91,95,97,100,102,104,105,112,113,115,116,119,121,123,125,127,128,131,133,134,135,136,137,138,139,144,146,148,153,156,157,159,160,162,166,167,177,179,187,188,195,202,204,205,206,210,213,214,219,223,232,233,235,241,242,246,250,251,252,253,257,258,259,260,261,267,271,272,273,274,277,279,280,281,283,291,294,299,305,306,307,308,310,312,316,317,318,319,321,323,324,325,326,327,328,329,334,338,339,340,344,357,362],store_kei:[261,344],store_result:48,store_tru:234,stored_obj:25,storekei:[85,261],storenam:85,storeroom:85,storeroom_exit:85,storeroom_kei:85,storeroom_key_nam:85,stori:[3,9,97,133],storm:[28,119],storypag:3,storytel:123,stove:247,str:[0,10,11,22,25,27,39,40,50,51,58,59,60,73,74,84,91,96,113,114,119,125,127,133,134,141,144,146,150,151,152,153,154,159,164,166,170,175,176,177,179,180,182,184,187,188,189,190,192,193,194,195,198,199,204,205,206,210,212,215,217,218,219,220,221,226,230,233,234,235,238,239,242,246,247,250,251,252,257,258,259,261,264,265,267,272,273,274,276,277,278,279,280,282,285,286,287,290,291,292,295,296,298,304,305,306,307,308,310,311,312,315,316,317,318,319,321,322,323,324,326,327,328,329,330,337,338,339,340,341,342,343,344,345,349,362],straight:[49,68,126],straightforward:[25,41,85,91,121,123],strang:[6,8,14,29,41,56,131,153],strangl:90,strategi:[42,221],strattr:[1,11,316],strawberri:234,stream:[106,276,280,306],streamlin:[36,179],strength:[11,57,58,60,61,73,80,116,134],stress:[93,298],stretch:111,stribg:344,strict:[10,251,321],stricter:251,strictli:[19,51,59,77,133,186,220,330],strike:[43,51,82,116,165,214,220,221],string1:344,string2:344,string:[5,9,11,12,13,15,19,20,22,23,25,27,29,31,33,34,35,38,41,42,43,49,50,54,55,57,58,59,60,62,68,71,76,82,83,84,86,87,88,89,90,93,95,96,97,104,109,111,112,113,114,115,116,119,124,125,127,129,133,134,137,138,139,141,142,144,146,148,150,151,154,157,159,164,165,166,167,168,169,170,175,176,177,179,180,182,186,188,198,199,203,204,205,206,210,211,215,217,218,219,220,221,226,230,231,235,238,239,240,241,242,246,247,250,251,252,256,259,261,267,269,272,276,279,287,290,291,293,299,304,306,308,311,315,316,317,318,319,320,321,322,324,325,326,327,329,330,337,338,340,341,342,343,344,345,362,364],string_from_modul:344,string_partial_match:344,string_similar:344,string_suggest:344,stringproduc:269,strip:[21,22,33,38,41,43,51,58,74,81,85,108,109,114,118,123,151,159,167,168,170,206,252,272,287,290,291,321,322,326,328,344],strip_ansi:[81,321,343],strip_control_sequ:344,strip_mxp:321,strip_raw_ansi:321,strip_raw_cod:321,strippabl:328,stroll:213,strong:[80,114,123,343],strongest:80,strongli:[64,73,95,124,205],strp:122,strr:204,struct:56,structur:[9,11,33,37,41,43,45,47,48,49,51,55,56,59,63,64,68,69,80,83,88,95,96,109,119,133,134,136,138,159,164,175,206,247,251,252,291,296,319,325,328,354,361,362],strvalu:[11,316,317],stuck:[51,63],studi:59,stuff:[3,9,11,21,29,31,37,38,47,49,51,57,61,67,73,80,85,96,102,105,107,109,119,138,153,159,170,189,234,261,305,350],stumbl:97,stupidli:34,sturdi:327,stutter:108,style:[3,16,20,21,27,33,37,38,40,41,45,51,55,57,58,61,79,87,95,106,111,114,116,122,124,129,138,148,154,156,167,182,183,188,199,217,234,251,326,330,344],styled_foot:154,styled_head:[33,154],styled_separ:154,styled_t:[33,154],sub:[9,11,36,37,38,57,65,69,88,90,108,109,116,119,137,138,143,149,164,166,172,173,178,180,206,234,236,238,240,243,252,253,262,314,320,321,343,346],sub_ansi:321,sub_app:133,sub_brightbg:321,sub_dblspac:343,sub_mxp_link:343,sub_text:343,sub_to_channel:164,sub_xterm256:321,subbed_chan:164,subcategori:166,subclass:[27,64,105,109,118,119,125,159,180,235,246,251,256,277,290,296,315,318,335,340,344],subdir:127,subdirectori:[37,127],subdomain:[8,90,103],subfold:[47,86,95,96,134,135],subhead:38,subject:[36,39,81,86,90,124,189,199],submarin:121,submenu:[106,180,249],submenu_class:180,submenu_obj:180,submiss:[188,357],submit:[17,37,103,133,188,357,362],submitcmd:188,submodul:291,subnegoti:291,subnet:[12,43,157],subpackag:[88,127],subprocess:[25,344],subreddit:79,subscrib:[12,33,34,41,43,53,58,64,80,115,128,132,146,164,175,176,219,261,278,309],subscribernam:164,subscript:[33,43,58,79,115,132,164,173,176,177,261],subsequ:[10,11,33,43,95,116,164,205,322,344],subsequent_ind:330,subset:[56,112,127],subsid:125,substitut:[51,71,87,106,247,321,343],substr:321,subsub:[166,170],subsubhead:38,subsubsubhead:38,subsubtop:[166,170],subsubtopicn:170,subsystem:[9,63,86,242],subtitl:17,subtop:[164,166,170],subtopic_separator_char:166,subtract:85,subturn:116,subword:344,succ:241,succe:[61,116,185],succeed:[164,185,234],success:[73,116,123,134,144,164,175,179,185,217,218,219,220,221,226,232,233,242,251,260,267,271,318,326,338,344,362],success_teleport_msg:233,success_teleport_to:233,success_url:362,successfuli:203,successfulli:[10,28,33,36,60,77,110,111,130,144,203,232,235,247,260,267,279,311,318,362],suddenli:[26,97,318],sudo:[63,67,100,103],suffic:[17,57,61],suffici:[86,90,94,119],suffix:[27,97,114,321,337,344],suggest:[1,23,25,37,38,48,51,52,55,61,68,70,90,95,97,125,138,140,151,166,179,206,233,247,344],suggestion_cutoff:166,suggestion_maxnum:166,suit:[29,34,55,64,117,139,170,344,362],suitabl:[21,25,33,37,55,63,64,80,83,87,88,90,112,131,152,164,242,301,308,324,328],sum:[37,82,91,139,153],summar:[0,79,139],summari:[0,7,46,79,96,110,123,180],summer:187,sun:62,sunris:62,sunt:52,super_long_text:329,superclass:145,superfici:205,superflu:343,supersus:242,superus:[2,4,5,6,9,12,13,14,19,20,21,23,25,41,43,58,60,63,81,95,96,111,122,134,144,148,158,169,175,182,212,231,241,242,247,252,267,318,322,324],supplement:51,suppli:[10,11,27,34,37,43,51,58,59,63,68,72,74,84,88,93,102,105,109,112,114,115,116,123,127,148,153,154,157,159,164,169,170,176,180,184,186,187,190,246,247,251,256,261,278,308,318,326,331,341,344],supporst:294,support:[2,4,7,8,9,11,23,26,33,37,38,40,42,43,44,47,49,50,51,56,57,58,61,63,64,65,66,70,74,75,76,81,83,86,87,90,91,94,98,100,103,109,110,113,114,123,126,139,144,156,165,183,184,185,187,198,234,241,247,251,252,261,272,280,281,282,283,287,289,290,291,292,294,296,307,316,321,325,328,329,330,341,344,349,364],supports_set:[74,272],suppos:[0,33,51,61,76,83,109,119,138,144,180],supposedli:[67,205,291],suppress:[24,289],suppress_ga:[141,142,262,275],suppressga:289,supress:289,sur:79,sure:[0,2,4,5,8,9,11,12,13,14,15,19,20,21,23,25,28,29,30,31,33,36,37,38,41,42,43,44,49,51,57,58,60,61,62,63,67,71,72,73,75,78,80,81,86,87,89,90,91,93,95,96,97,100,102,105,106,109,110,111,112,113,115,116,118,123,125,126,127,128,131,133,134,136,137,138,140,144,146,152,153,154,156,159,167,176,180,182,196,204,205,206,211,215,220,223,231,232,233,238,241,242,247,251,252,258,267,271,277,279,284,305,311,312,313,315,317,318,321,323,325,328,334,340,341,343,344,360,362],surfac:[58,82,103],surpris:[22,39,69,80,91],surround:[31,33,43,111,116,119,129,157,231,340,344],surviv:[5,11,27,28,31,43,50,51,84,102,105,115,116,126,146,153,169,180,256,257,261,324,326,328,344],suscept:[27,56,242],suspect:133,suspend:[100,103,106],suspens:102,suspici:51,suspicion:133,svn:[36,108],swallow:[96,118,276,343],swap:[43,114,127,137,138,159,187,202,318,326],swap_autoind:326,swap_object:318,swap_typeclass:[60,125,144,318],swapcas:321,swapcont:138,swapper:318,swedish:76,sweep:102,swiftli:10,swing:[28,29,33,82],switch1:129,switch2:129,switch_map:169,switch_opt:[156,157,158,159,164,165,166,167,169,187],sword:[20,28,33,61,73,77,85,86,119,179,206,252,341,344],symbol:[14,15,33,49,75,106,108,119,215,235,329],symlink:[38,63],symmetr:330,sync:[64,83,105,131,285,290,305,306,307,308,316,325],sync_port:308,syncdata:[307,308],syncdb:127,synchron:337,syntact:[242,344],syntax:[5,6,13,14,15,21,22,23,29,33,41,43,46,48,51,55,58,60,62,76,80,91,97,114,119,123,129,134,141,142,154,158,159,166,167,170,180,185,187,188,234,242,247,267,279,306,316,318,320,321,364],syntaxerror:60,sys_cmd:152,sys_game_tim:59,syscmdkei:[33,53,141],syscommand:[141,142,149,155,247],syslog:209,sysroot:75,system:[0,2,4,5,9,10,11,19,21,22,23,26,27,28,29,31,34,36,37,38,39,40,41,44,46,47,49,53,55,56,59,60,62,63,64,67,74,75,76,77,79,81,83,84,85,86,87,90,93,95,97,102,103,104,105,107,108,109,110,111,112,114,115,119,121,122,125,126,127,128,129,131,132,134,136,138,139,140,141,142,145,146,148,149,150,152,154,155,156,158,166,168,170,172,175,176,177,179,180,182,186,193,194,195,196,198,199,202,203,205,206,209,210,211,215,217,218,219,220,221,230,233,235,236,239,241,242,246,247,249,252,253,267,290,296,304,314,318,322,324,327,328,337,363,364],system_command:33,systemat:39,systemctl:8,systemd:67,systemmultimatch:168,systemnoinput:168,systemnomatch:168,tab:[9,14,26,30,36,59,69,95,96,106,114,137,138,321,330,343],tabl:[0,4,13,15,43,45,46,48,53,58,59,64,69,82,88,97,111,113,114,119,125,128,134,154,156,164,166,169,188,291,310,321,327,329,330,341,344],table_char:327,table_format:156,table_lin:330,table_str:58,tablea:327,tableb:327,tablechar:[58,327],tableclos:[88,291],tablecol:330,tableopen:[88,291],tablet:16,tabletop:[58,73,79,124,217,221],tabsiz:[321,330],tabstop:343,tabularinlin:315,tack:[20,119,153],tackl:37,tactic:[73,116],taction:116,tag:[9,12,13,18,20,24,27,33,45,48,51,53,55,57,58,64,73,74,86,87,88,95,96,100,109,114,119,124,125,134,136,137,138,139,140,141,142,145,154,156,157,158,159,164,165,166,167,168,169,170,171,173,175,177,179,180,181,182,183,185,186,187,188,189,193,199,202,203,204,206,209,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,239,241,244,247,251,252,254,282,296,304,314,315,317,318,321,324,326,327,328,329,330,341,344,364],tag_categori:315,tag_data:315,tag_kei:315,tag_typ:315,tagadmin:315,tagform:315,tagformset:315,taghandl:[112,125,315,319],taginlin:[145,173,237,244,254,315],tagkei:[241,319,324],taglin:17,tagnam:252,tagstr:[252,319],tagtyp:[112,317,319,341],tail:[76,90,100,267,337],tail_log_fil:[267,337],tail_log_funct:337,tailor:[4,69,357],take:[0,3,4,9,10,11,13,14,15,16,17,19,20,21,22,25,26,27,28,29,31,33,37,40,42,46,49,51,52,55,56,57,58,62,64,69,70,74,75,76,77,79,80,83,85,90,91,95,96,103,104,105,106,108,109,111,114,116,119,121,122,123,124,125,126,127,133,134,136,138,139,144,146,151,152,156,168,170,175,177,179,182,184,187,188,203,204,206,209,213,215,217,218,219,220,221,226,230,231,233,242,252,271,287,295,307,308,317,318,321,326,327,328,329,338,344,345],taken:[31,43,56,64,103,116,120,121,123,165,186,209,217,218,219,220,221,247,287,311,321,324],takeov:309,taladan:48,tale:3,talk:[23,27,33,34,37,40,41,43,46,58,60,90,91,131,138,164,165,179,205,206,214,233,264],talker:[55,61],talki:64,talking_npc:[141,142,178],talkingcmdset:214,talkingnpc:214,tall:[43,129,165,206],tallman:[43,165],tandem:61,tantal:14,target1:220,target2:220,target:[21,25,28,29,30,33,34,40,43,58,73,88,103,114,116,119,123,127,136,138,144,154,159,164,165,169,175,177,182,185,187,199,215,217,218,219,220,221,231,235,247,317,321,324,328,344],target_loc:[213,233,235,247],target_obj:242,targetlist:199,task:[0,27,36,40,41,91,93,94,102,110,112,138,193,195,215,260,261,344],task_handl:[141,260,344],task_id:[195,260],taskhandl:[141,142,253,344],taskhandlertask:[260,344],tast:[22,34,133],tavern:206,tax:[75,93],taylor:79,tb_basic:[141,142,178,216],tb_equip:[141,142,178,216],tb_filenam:322,tb_item:[141,142,178,216],tb_iter:322,tb_magic:[141,142,178,216],tb_rang:[141,142,178,216],tbbasiccharact:217,tbbasicturnhandl:217,tbearmor:218,tbequipcharact:218,tbequipturnhandl:218,tbeweapon:218,tbitemscharact:219,tbitemscharactertest:219,tbitemsturnhandl:219,tbmagiccharact:220,tbmagicturnhandl:220,tbodi:134,tbrangecharact:221,tbrangeobject:221,tbrangeturnhandl:221,tchar:116,tcp:[55,103],tcpserver:[40,312],teach:124,team:[33,36,61,64,70,108,131],teardown:[127,170,196,228,293,342],teaser:90,tech:79,technic:[4,6,9,10,11,19,20,23,39,40,51,64,70,83,90,108,112,114,119,125,139,141,142,178,179,222,316],techniqu:[29,139,321],tediou:[1,106,111],teenag:[21,103],tehom:[9,119],tehomcd:9,tel:[0,12,58,63,91,121,159],teleport:[12,14,20,43,58,85,122,140,159,165,233,241,322],teleportroom:233,televis:31,tell:[0,3,5,8,10,12,13,19,21,22,23,26,29,31,33,41,42,43,46,49,51,58,59,60,61,69,73,74,75,76,77,80,83,86,87,90,91,93,95,96,100,102,103,109,110,116,117,121,127,128,130,131,132,134,135,139,146,156,164,165,177,185,206,233,247,267,285,296,308,326,362],telnet:[9,15,25,30,40,43,55,63,64,75,79,83,94,100,101,103,105,110,114,137,138,141,142,169,262,275,280,281,282,283,287,288,289,291,292,294,298,306,307,343],telnet_:90,telnet_hostnam:54,telnet_interfac:90,telnet_oob:[88,141,142,262,275],telnet_port:[9,36,54,90,299],telnet_ssl:[141,142,262,275],telnetoob:291,telnetprotocol:[288,290,292],telnetserverfactori:290,teloutlock:241,temp:177,tempat:188,templat:[2,3,4,5,27,31,43,47,64,81,87,104,107,109,123,125,131,134,135,136,137,138,141,142,145,164,165,167,175,188,230,267,296,306,307,316,320,327,355,362],template2menu:[51,328],template_nam:362,template_overrid:[4,135,136,137],template_regex:316,template_rend:107,template_str:[51,87],templates_overrid:135,templatestr:327,templatetag:[141,142,346,356],templateview:362,tempmsg:177,temporari:[6,11,110,122,127,131,153,177,198,217,218,219,220,221,261,328],temporarili:[20,26,31,43,51,60,90,97,102,127,164,169,195,203,226],tempt:[43,61,95,104,157],ten:[29,90,111],tend:[41,43,57,61,64,73,76,86,90,97,103,119,121,124,129,138,159,205,209],tent:[45,111,139],terabyt:25,term:[0,10,31,62,63,64,69,90,91,96,126,139,154,204,310],term_siz:[42,141],termin:[4,23,26,27,38,42,47,59,60,63,64,75,90,93,95,96,97,100,103,106,110,114,123,126,131,138,139,141,194,215,217,218,219,220,221,266,267,287,294,310,362],terminalrealm:287,terminals:287,terminalsessiontransport:287,terminalsessiontransport_getp:287,terrain:49,terribl:280,ters:102,test1:[11,74,330],test2:[11,33,74,114],test3:[11,330],test4:[11,330],test5:11,test6:11,test7:11,test8:11,test:[0,5,10,11,13,14,15,17,19,20,21,22,23,24,25,29,31,33,36,37,38,41,42,43,45,46,50,51,56,58,60,61,62,63,65,67,68,69,72,73,74,79,80,81,85,89,90,91,94,95,96,98,106,107,109,111,115,116,120,124,130,131,132,133,137,138,139,141,142,149,151,155,156,158,166,169,178,182,185,187,188,191,207,208,215,217,218,219,220,221,222,223,230,251,262,269,272,275,296,297,298,302,318,320,321,322,324,328,332,342,344,346,348,350,356,364],test_:127,test_about:170,test_accept:196,test_access:170,test_add:196,test_add_valid:196,test_all_com:170,test_alternative_cal:127,test_amp_in:293,test_amp_out:293,test_at_repeat:228,test_attribute_command:170,test_audit:211,test_ban:170,test_batch_command:170,test_bold:293,test_c_creates_button:303,test_c_creates_obj:303,test_c_dig:303,test_c_examin:303,test_c_help:303,test_c_login:303,test_c_login_no_dig:303,test_c_logout:303,test_c_look:303,test_c_mov:303,test_c_move_:303,test_c_move_n:303,test_c_soci:303,test_cal:196,test_cas:127,test_cboot:170,test_cdesc:170,test_cdestroi:170,test_channel__al:170,test_channel__alias__unalia:170,test_channel__ban__unban:170,test_channel__boot:170,test_channel__cr:170,test_channel__desc:170,test_channel__destroi:170,test_channel__histori:170,test_channel__list:170,test_channel__lock:170,test_channel__msg:170,test_channel__mut:170,test_channel__noarg:170,test_channel__sub:170,test_channel__unlock:170,test_channel__unmut:170,test_channel__unsub:170,test_channel__who:170,test_char_cr:170,test_char_delet:170,test_clock:170,test_color:293,test_color_test:170,test_copi:170,test_creat:170,test_cwho:170,test_data_in:293,test_data_out:293,test_del:196,test_desc:170,test_desc_default_to_room:170,test_destroi:170,test_destroy_sequ:170,test_dig:170,test_do_nested_lookup:170,test_echo:170,test_edit:196,test_edit_valid:196,test_emit:170,test_empty_desc:170,test_examin:170,test_exit:196,test_exit_command:170,test_find:170,test_forc:170,test_general_context:352,test_get:360,test_get_and_drop:170,test_get_authent:360,test_get_dis:360,test_giv:170,test_handl:196,test_help:170,test_hom:170,test_ic:170,test_ic__nonaccess:170,test_ic__other_object:170,test_ident:293,test_idl:303,test_info_command:170,test_interrupt_command:170,test_invalid_access:360,test_inventori:170,test_ital:293,test_large_msg:293,test_list:196,test_list_cmdset:170,test_lock:[170,196],test_look:170,test_mask:211,test_memplot:303,test_menu:215,test_messag:304,test_mudlet_ttyp:293,test_multimatch:170,test_mux_command:170,test_mycmd_char:127,test_mycmd_room:127,test_nam:170,test_nested_attribute_command:170,test_nick:170,test_object:170,test_object_search:127,test_ooc:170,test_ooc_look:170,test_opt:170,test_pag:170,test_password:170,test_perm:170,test_pi:170,test_plain_ansi:293,test_pos:170,test_quel:170,test_queri:[141,142,262,297],test_quit:170,test_resourc:[127,141,142,170,196,211,228,293,320,360],test_return_valu:127,test_sai:170,test_script:170,test_send_random_messag:228,test_server_load:170,test_sess:170,test_set_game_name_and_slogan:352,test_set_help:170,test_set_hom:170,test_set_obj_alia:170,test_set_webclient_set:352,test_simpl:127,test_simple_default:170,test_spawn:170,test_split_nested_attr:170,test_start:196,test_subtopic_fetch:170,test_subtopic_fetch_00_test:170,test_subtopic_fetch_01_test_creating_extra_stuff:170,test_subtopic_fetch_02_test_cr:170,test_subtopic_fetch_03_test_extra:170,test_subtopic_fetch_04_test_extra_subsubtop:170,test_subtopic_fetch_05_test_creating_extra_subsub:170,test_subtopic_fetch_06_test_something_els:170,test_subtopic_fetch_07_test_mor:170,test_subtopic_fetch_08_test_more_second_mor:170,test_subtopic_fetch_09_test_more_mor:170,test_subtopic_fetch_10_test_more_second_more_again:170,test_subtopic_fetch_11_test_more_second_third:170,test_tag:170,test_teleport:170,test_toggle_com:170,test_tunnel:170,test_tunnel_exit_typeclass:170,test_typeclass:170,test_upp:127,test_valid_access:360,test_valid_access_multisession_0:360,test_valid_access_multisession_2:360,test_valid_char:360,test_wal:170,test_whisp:170,test_who:170,test_without_migr:127,testabl:127,testaccount:170,testadmin:170,testampserv:293,testapp:133,testbatchprocess:170,testbodyfunct:228,testbuild:170,testcas:[127,293,303,335,342,352],testcmdcallback:196,testcomm:170,testcommand:51,testcommschannel:170,testdefaultcallback:196,testdummyrunnerset:303,testdynamic:127,tester:[90,119,285],testeventhandl:196,testform:327,testgener:170,testgeneralcontext:352,testhelp:170,testid:33,testinterruptcommand:170,testirc:293,testmemplot:303,testmenu:[188,328],testmixedrefer:335,testmod:308,testmymodel:127,testnnmain:170,testnod:51,testobj:127,testobject:127,testobjectdelet:335,testok:91,testregularrefer:335,testset:127,testsharedmemoryrefer:335,teststr:127,testsystem:170,testsystemcommand:170,testtelnet:293,testunconnectedcommand:170,testvalu:11,testwebsocket:293,text2html:[141,142,320],text:[0,1,2,5,7,9,10,13,14,15,17,18,21,22,24,26,30,33,34,35,37,40,43,45,46,48,50,52,53,55,56,57,58,59,60,63,68,72,73,76,77,78,79,80,81,83,85,86,87,88,90,91,95,96,97,98,100,108,109,110,111,112,118,121,123,124,126,127,131,133,137,138,139,144,146,151,154,156,157,158,159,164,165,166,167,168,169,170,171,176,177,179,180,181,182,185,186,187,188,189,190,193,195,199,202,203,205,206,210,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,242,247,249,252,256,264,265,272,278,279,282,285,286,287,290,291,295,296,306,307,308,311,312,316,317,319,321,322,324,326,327,328,329,330,338,341,343,344,345,357,364],text_:38,text_color:190,text_exit:[22,180],text_single_exit:22,textarea:[340,357],textbook:40,textbox:357,textfield:[86,133],textn:170,textstr:74,texttag:[81,126,139,364],texttohtmlpars:343,textual:39,textwrap:330,textwrapp:330,than:[0,2,4,6,8,11,13,14,16,19,23,25,26,29,31,33,35,37,38,39,42,43,46,47,49,51,52,54,55,57,58,60,61,62,64,68,69,71,73,76,80,82,86,89,90,91,93,95,97,103,104,105,106,109,110,112,113,114,115,116,119,122,123,125,126,127,128,129,131,134,135,137,138,139,144,148,151,152,153,156,157,158,159,160,164,167,169,179,180,181,184,190,195,204,205,206,213,215,217,218,219,220,221,232,234,241,247,249,251,267,293,308,313,315,316,317,318,321,322,328,329,330,334,337,339,340,341,343,344,362],thank:[4,102,134,138,199,312],thankfulli:133,thead:134,thei:[0,1,2,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,25,27,29,30,31,33,34,37,38,39,40,41,42,43,44,46,48,51,55,56,57,58,61,63,64,66,68,69,73,75,77,78,80,81,83,85,86,88,89,90,91,92,93,95,96,97,102,103,105,106,107,108,109,110,111,112,113,114,116,118,119,121,122,123,124,125,126,127,131,132,134,136,137,138,139,140,144,145,152,153,156,158,159,164,165,167,168,169,175,179,180,182,185,187,189,194,205,206,217,218,219,220,221,232,233,234,235,241,242,246,247,251,252,253,256,258,259,261,267,287,288,290,291,292,296,299,305,306,307,308,310,315,316,321,322,323,325,328,330,344,345,357,362],theirs:[116,181,189],them:[0,2,4,5,6,9,10,11,12,13,14,15,16,21,22,23,25,26,27,28,29,30,31,33,34,35,37,38,39,40,41,43,46,48,50,51,54,55,57,58,59,60,61,62,64,66,68,69,71,73,74,75,76,77,80,82,83,85,86,87,88,89,90,91,95,96,97,98,102,103,104,105,106,109,110,111,112,113,114,115,116,118,119,121,122,123,124,125,126,127,128,131,133,134,135,136,137,138,139,140,144,150,151,152,154,156,158,159,164,166,167,170,175,181,182,183,187,188,189,190,192,194,203,204,206,215,217,218,219,220,221,226,231,233,234,238,242,247,252,258,261,267,285,287,290,298,302,305,306,308,315,316,318,319,321,322,324,328,340,343,362],themat:61,theme:[61,134],themself:219,themselv:[0,11,19,21,28,31,33,43,49,51,55,58,69,72,73,80,81,85,89,97,102,107,113,119,121,123,125,127,132,138,140,159,206,247,256,259,267,317,319,340],theoret:[31,108],theori:[31,42,57,79,123,139,144,152,364],thereaft:87,therefor:[0,49,62,68,91,102,122,127,158,180,192],therein:[15,33,156,167,187,203,233],thereof:[206,247],thi:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,42,43,44,45,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,198,199,202,203,204,205,206,209,210,212,213,214,215,217,218,219,220,221,223,226,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,246,247,250,251,252,253,254,256,257,258,259,260,261,262,264,265,266,267,269,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,298,299,300,301,302,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,334,335,337,338,339,340,341,342,343,344,345,346,349,350,354,355,357,361,362,363],thie:51,thief:61,thieveri:[43,166],thin:[10,22,29,111,182,337],thing:[0,1,3,4,5,6,8,9,10,11,12,13,15,19,20,21,22,25,26,27,28,29,30,31,33,34,37,39,40,41,43,46,47,48,49,50,51,55,58,59,60,61,63,64,67,69,70,71,73,74,75,76,79,80,82,83,85,86,89,90,91,93,95,96,97,100,102,103,104,105,107,108,109,110,111,114,115,116,118,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,144,152,153,159,179,180,187,195,205,206,215,221,226,230,233,234,241,242,246,247,271,276,280,312,315,316,318,321,322,330,340,362],think:[1,20,29,31,34,37,46,48,51,55,59,61,62,67,70,73,79,81,91,94,95,96,97,109,111,112,114,115,135,138,139,308,362],third:[0,8,9,23,27,37,38,39,42,43,51,64,69,72,75,90,96,101,114,121,127,128,134,159,170,321,328],thirdnod:51,this_sign:309,thoma:[12,43,87,157],thorn:[11,89],thorough:26,those:[2,3,4,6,9,11,13,14,15,19,20,21,23,28,30,31,33,35,36,43,44,47,48,51,55,56,57,58,60,61,62,64,68,71,73,77,78,79,80,81,85,86,88,89,90,95,96,103,105,109,110,111,112,114,118,119,121,123,124,125,127,128,130,131,135,136,138,153,154,156,159,164,165,166,170,176,180,206,210,215,217,226,232,233,242,251,252,260,290,295,317,318,328,329,330,338,339,342,344,357,362],though:[2,10,11,12,13,14,15,22,23,26,27,30,31,37,39,41,51,57,59,60,62,63,64,69,72,75,79,81,89,90,91,94,96,97,100,102,103,104,110,116,119,121,122,123,126,127,128,129,130,131,138,144,154,180,181,190,217,218,220,221,233,234,247,252,316,321,328,344],thought:[23,39,61,79,80,84,138],thousand:[39,90,111,133],thread:[23,27,55,79,94,110,286,312,337,344],threadpool:[94,312],threadsaf:315,threat:103,three:[0,4,12,13,16,22,25,31,33,38,46,51,69,80,83,85,87,89,90,114,133,134,135,151,164,215,220,242,321,328],threshold:[228,310,322],thrill:85,throttl:[141,142,144,262,272,285],through:[0,1,2,5,9,13,14,17,23,25,27,30,31,33,34,38,39,40,41,44,46,48,51,52,55,56,57,58,59,60,61,62,64,68,69,70,71,76,77,80,83,85,87,88,89,90,91,93,96,97,98,99,103,104,105,106,107,108,109,110,114,116,117,119,121,122,124,136,138,139,140,141,144,153,159,164,166,170,179,187,192,210,212,217,218,219,220,221,235,240,242,246,247,257,258,261,267,269,274,283,287,290,296,299,304,306,307,315,317,318,322,324,327,328,329,343,344,357,362],throughout:[11,20,49,51,55,104,219],throughput:[175,324],thrown:116,thrust:232,thu:[14,19,31,33,39,43,44,51,54,57,58,73,80,83,86,96,108,111,114,121,122,123,125,134,135,136,156,160,181,205,242,247,261,299,313,316,317,324],thub:43,thud:189,thumb:[114,131],thumbnail:4,thunder:23,thunderstorm:122,thusli:75,tick:[23,33,38,51,64,115,131,132,139,219,231,233,261,299],ticker1:[115,261],ticker2:[115,261],ticker:[53,55,74,102,132,139,146,231,233,257,261,272,344],ticker_class:261,ticker_handl:[115,132,141,261,344],ticker_pool_class:261,ticker_storag:261,tickerhandl:[27,45,102,116,132,139,141,142,213,219,233,253,344,364],tickerpool:261,tickerpool_layout:261,ticket:94,tidbit:55,tidi:100,tie:[83,116,138],tied:[64,119,153,166,182,226,239],tier:90,ties:[49,135,161],tight:182,tightli:[103,175],tim:[182,188,190,215,217,218,219,220,221],time:[0,1,2,4,5,6,8,9,10,11,12,13,14,17,20,21,22,23,25,26,28,29,30,31,34,36,37,39,40,41,42,45,49,51,52,53,54,55,56,58,59,60,61,63,64,65,66,67,69,70,72,73,75,80,83,86,88,89,90,91,93,94,95,96,100,104,105,106,109,110,113,114,115,116,117,119,121,122,123,124,125,127,128,129,131,132,133,135,138,139,144,146,148,150,151,153,154,157,164,169,175,177,179,184,185,187,194,195,198,203,204,205,212,213,215,217,218,219,220,221,223,226,231,232,233,239,246,247,250,252,253,256,259,260,261,267,269,271,273,274,279,285,290,292,299,300,304,305,306,308,310,315,316,318,319,321,322,323,324,329,331,334,335,337,340,344,363],time_ev:198,time_factor:[27,62,184,331],time_format:[59,344],time_game_epoch:[27,62,331],time_to_tupl:184,time_unit:[62,184],time_until_next_repeat:102,timedelai:[29,260,342,344],timedelta:[338,345],timeeventscript:195,timefactor:62,timeformat:[337,344],timeit:93,timeout:[63,67,116,120,290,310,334],timer:[20,27,33,47,56,64,83,102,115,116,169,187,219,223,226,232,253,259,260,261,298,306,341],timerobject:102,timescript:331,timeslot:187,timestamp:[25,27,310,331],timestep:299,timestr:337,timetrac:[141,142,262,297],timetupl:62,timezon:[23,337,338,345],tini:[23,39,81],tinker:97,tintin:[24,280,281,291,294],tinyfugu:24,tinymud:[57,108],tinymush:[57,108,129],tinymux:[57,108],tip:[12,37,70,79,103,112],tire:[20,153],titeuf87:235,titl:[17,22,34,43,48,69,98,137,164,166,180,238,321,324,362],title_lone_categori:166,titlebar:137,titleblock:69,tlen:71,tls:8,tlsv10:67,tlsv1:8,tmp:[36,63],to_be_impl:362,to_byt:344,to_closed_st:226,to_cur:219,to_displai:180,to_dupl:152,to_execut:344,to_exit:0,to_fil:209,to_init:221,to_non:247,to_obj:[144,154,247],to_object:176,to_open_st:226,to_pickl:325,to_str:344,to_syslog:209,tobox:276,toc:363,todai:[138,190],todo:58,toe:108,togeth:[0,3,8,9,14,22,29,31,33,38,43,48,49,57,58,61,64,68,71,73,83,89,90,92,116,119,122,123,124,125,126,127,131,138,150,159,161,166,187,202,203,205,206,232,233,246,252,276,295,308,315,321,322,341],toggl:[81,290],toggle_nop_keepal:290,togglecolor:81,toint:109,token:[71,122,287,290,322],told:[44,59,90,91,95,113,114,123,128,340],tolkien:62,tom:[43,58,87,123,129,159,165,189,206,327],tommi:[19,80,87],ton:[57,82],tone:114,tonon:[43,159],too:[0,4,6,9,11,12,13,14,17,20,21,22,25,27,29,33,38,39,41,42,43,46,47,48,49,51,57,58,59,60,61,63,69,73,80,83,84,85,91,93,96,106,114,116,121,122,123,125,128,131,133,138,157,159,178,215,220,226,241,272,276,310,312,322,327,328,329,330,341,344],took:[127,344],tool:[4,6,7,8,23,29,53,57,62,63,64,86,90,96,100,108,109,111,112,114,119,136,139],toolbox:79,tooltip:137,top:[5,9,13,22,26,29,31,33,38,39,47,48,50,52,57,58,59,60,63,68,69,75,79,85,93,95,96,101,102,104,110,111,112,117,123,125,130,131,133,134,138,139,148,153,177,180,182,184,202,206,215,234,235,239,246,256,267,309,316,318,319,322,329,330,337],topcistr:238,topic:[4,10,20,31,33,40,42,43,55,68,69,86,93,94,105,119,126,166,217,218,219,220,221,238,341,357,362],topicstr:238,tos:241,tostr:276,total:[27,43,62,80,82,91,93,102,104,105,114,118,139,169,185,304,329,330,331],total_num:334,touch:[8,38,54,60,96,97,103,104,114,310],tour:91,toward:[22,33,40,42,91,102,111,190,221,231],tower:[111,187,233],tportlock:241,trac:94,trace:[83,96,195,304,328],traceback:[6,13,27,57,60,95,97,102,110,114,123,127,133,135,195,202,250,276,318,322,337,344],tracemessag:304,track:[11,27,30,49,57,61,64,73,77,82,86,95,98,99,100,102,105,116,121,128,132,133,138,144,153,175,221,257,278,279,284,287,290,305,310,325,326,338],tracker:[43,61,70,131],trade:[46,179],tradehandl:179,trader:46,tradetimeout:179,tradit:[10,15,36,73,74,83,90,103,114,116,138,235,290,306,329],tradition:[57,83],traffic:[8,103,280],train:79,traindriv:121,traindrivingscript:121,training_dummi:73,trainobject:121,trainscript:121,trainstop:121,trainstoppedscript:121,trait:[27,38,73,252],transact:179,transfer:[85,133,153,278,288,292,330],transform:36,transit:[89,124],translat:[14,40,45,79,87,88,113,114,126,205,206,252,269,321],transmiss:209,transmit:113,transpar:[67,105,126,137,138,246,261],transport:[276,287,296],transportfactori:287,transpos:126,trap:[14,82,122],traumat:51,travel:[49,82,83,88,96,213,235],travers:[11,44,49,80,85,89,121,212,213,231,232,235,241,247],traverse_:33,traversing_object:[212,213,235,247],travi:[45,139,364],tre:43,treasur:[9,235],treat:[10,14,33,64,95,96,105,111,112,119,125,138,144,150,153,189,247,252,308,328,330,341],tree:[3,11,33,38,43,47,51,61,63,64,77,80,96,131,140,180,206,215,234,247,252,267,296,312,328,344],tree_select:[141,142,178],treestr:215,treshold:334,tri:[11,12,14,24,29,33,43,51,58,61,80,83,87,90,91,105,107,113,116,119,133,138,151,169,179,181,188,232,233,271,310,344,345],trial:[94,106,293],tribal:111,trick:[8,22,51,79,138,318,357],tricki:[109,126,127,138],trickier:[9,69],trigger:[21,24,31,33,36,42,46,49,51,56,57,69,74,83,84,89,100,105,107,114,115,116,117,118,121,134,135,138,144,146,150,151,154,156,170,180,198,226,231,233,246,247,252,261,269,272,276,298,305,309,324,328],trim:321,trip:96,tripl:[27,38,96,114,344],trivial:[27,33,40,42,91,93,138],troll:12,troubl:[5,8,9,23,41,46,58,63,70,75,91,105,131,139,316,363],troubleshoot:9,troublesom:[12,13,14],trove:9,truestr:188,truli:[0,12,39,41,105,187],trust:[19,43,51,57,169,322],truth:42,truthfulli:33,truthi:260,try_num_differenti:151,ttarget:116,tto:290,ttp:43,tty:[9,100],ttype:[55,141,142,262,275,287,290],ttype_step:294,tuck:111,tun:[43,159],tune:[67,126],tunnel:[0,20,22,44,49,58,121,159,292],tup:[39,206],tupl:[11,39,41,42,43,51,59,60,80,86,87,88,90,109,116,119,134,141,144,151,157,159,164,167,176,179,180,184,185,189,192,206,219,220,230,235,241,242,247,251,252,261,264,276,277,287,288,292,299,306,308,316,319,321,323,324,326,328,331,337,339,344],tupled:337,turbo:75,turkish:144,turn:[0,10,12,27,31,33,38,41,43,50,51,57,58,64,66,77,79,80,81,83,88,90,96,102,105,107,110,111,114,117,118,121,122,126,127,131,133,135,138,139,144,154,164,169,170,175,198,206,215,217,218,219,220,221,231,233,247,252,267,272,280,287,290,298,308,314,315,318,322,324,328,329,330,344,364],turn_act:116,turn_end_check:[217,218,219,220,221],turnbattl:[141,142,178],turnchar:219,tut:[122,233],tutor:230,tutori:[3,4,10,16,17,20,22,25,26,28,29,31,32,33,35,37,39,41,42,45,48,49,51,55,57,58,60,61,63,64,70,71,77,79,81,82,90,91,95,102,111,112,114,115,126,133,135,139,180,213,218,232,233,363,364],tutorial_bridge_posist:233,tutorial_cmdset:233,tutorial_exampl:[13,14,20,102,141,142,178],tutorial_info:233,tutorial_world:[20,22,63,122,141,142,178],tutorialclimb:232,tutorialevmenu:230,tutorialobject:[231,232],tutorialread:232,tutorialroom:[231,233],tutorialroomcmdset:233,tutorialroomlook:233,tutorialweapon:[231,232],tutorialweaponrack:232,tutorialworld:[232,233],tweak:[8,9,25,57,58,67,97,102,109,117,119,125,138,144,170,226,312,321],tweet:[124,139,364],tweet_output:120,tweet_stat:120,tweetstat:120,twenti:58,twice:[25,51,62,116,195,221,328],twist:[10,27,29,33,40,63,72,75,79,97,103,247,260,264,267,269,270,276,277,278,279,284,287,290,293,295,296,298,305,308,312,337,364],twistd:[63,106,110,284,305],twistedcli:40,twistedmatrix:94,twistedweb:103,twitch:[41,116],twitter:[7,55,120,139,364],twitter_api:71,two:[0,4,11,13,14,15,16,19,22,23,25,26,27,28,29,31,33,34,38,39,40,41,43,44,46,47,49,50,51,57,58,64,65,67,68,69,73,74,76,80,83,84,85,86,88,89,90,91,92,95,97,100,102,103,104,105,108,109,110,111,112,113,116,119,121,122,123,125,126,127,129,131,133,134,135,137,138,139,140,152,159,164,175,177,179,180,185,199,204,212,213,215,219,221,226,233,234,247,249,267,296,307,308,317,319,322,328,330,337,344,345,364],twowai:[43,159],txt:[9,38,40,50,75,78,90,96,146,205,283,291,326,328],tying:90,typclass:206,type:[0,8,12,14,16,17,19,20,21,22,24,25,26,27,28,29,31,33,34,35,37,38,41,42,43,44,46,47,49,50,51,55,56,57,58,59,61,62,64,73,75,77,79,80,81,82,83,86,87,88,90,91,95,96,97,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,128,133,137,138,139,144,146,154,159,164,166,169,170,171,175,176,177,180,182,186,188,192,195,198,199,206,213,217,218,219,220,221,226,232,233,234,239,241,242,246,247,251,252,260,261,265,267,269,270,278,279,285,287,288,290,291,292,294,295,296,298,306,308,312,315,316,317,318,319,321,322,324,325,328,329,330,339,340,341,344,345,351,357],type_count:182,typecalass:316,typecalss:195,typeclass:[0,2,5,9,11,12,13,20,21,22,25,26,27,33,34,39,44,47,48,49,56,58,60,61,62,66,69,73,76,77,80,82,83,84,85,89,91,96,102,105,107,109,111,112,116,117,118,120,121,122,123,127,132,133,134,139,141,142,144,145,146,147,148,153,159,164,169,173,175,176,177,178,182,187,191,194,195,198,203,206,212,213,214,217,218,219,220,221,226,233,235,237,238,241,242,244,245,246,247,251,252,254,255,256,257,259,261,305,323,324,341,342,344,360,362,364],typeclass_path:[43,102,119,125,148,159,256,317,318],typeclass_search:317,typeclassbas:96,typeclassmanag:[147,176,245,255],typeclassmixin:362,typedobject:[41,125,148,154,177,206,235,246,247,256,316,317,318,319,339,344],typedobjectmanag:[176,238,317],typeerror:[42,185,296],typenam:[22,144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,318,331,334,335],typeobject:319,types_count:182,typic:[27,55,91,127,220,221,362],typo:[37,38,70,103,363],ubbfwiuvdezxc0m:37,ubuntu:[8,63,67,90,97,103,131],ufmboqvya4k:133,ufw:103,ugli:[56,109,137,338],uid:[100,148,279,286,307,308],uio:[57,79],uit:[22,180],ulrik:58,ultima:79,umlaut:15,unabl:[71,190],unaccept:33,unaffect:[51,116,219,260],unalia:164,unarm:218,unarmor:218,unassign:138,unauthenticated_respons:360,unavoid:115,unban:[12,157,164,170,175],unban_us:164,unbias:185,unbroken:327,uncal:260,uncas:321,uncategor:341,unchang:[87,97,127,205,252,344],unclear:[30,363],uncolor:[81,114],uncom:[67,90],uncommit:131,uncompress:280,unconnect:[43,171,186],uncov:182,undefin:[36,86,112],under:[6,9,20,24,33,36,38,41,42,43,46,48,51,57,60,61,63,64,73,75,77,78,79,86,93,100,106,108,110,119,122,123,125,128,133,134,135,136,137,154,156,159,188,215,234,242,259,267,294,316,321,328,329,330,344,346,362],undergar:182,undergon:195,underli:[57,61,64,80,119,124,131],underlin:[330,343],underneath:[9,318],underscor:[0,38,51,74,88,95,97,114,119,152,344],underscror:152,understand:[4,10,15,24,25,26,29,30,31,33,37,38,39,41,42,44,48,49,55,60,61,63,79,81,83,91,95,96,103,104,105,109,111,113,114,123,124,127,131,133,134,136,139,151,152,164,204,205,206,312,321,344,364],understood:[83,91,111,127,295,296],undestand:25,undo:[50,103,326],undon:[43,156],undoubtedli:57,unexpect:[91,126,127,328],unexpectedli:334,unfamiliar:[63,74,80,88,90,118,124],unformat:[51,328,331],unfortun:[4,41,61],unhandl:60,unhappi:9,unhilit:343,unicod:[15,83,94,113,144,321,344],unicodeencodeerror:321,unicorn:119,unifi:[133,307],uniform:105,uninform:8,uninstal:63,uninstati:344,unintent:234,union:[31,51,152,226,328],uniqu:[2,12,13,20,31,33,35,36,38,40,43,46,51,55,57,60,61,64,71,80,83,84,90,95,96,102,105,109,112,119,123,125,127,137,138,144,150,152,154,159,164,169,171,175,176,181,184,186,194,204,205,206,212,215,218,219,231,233,238,247,251,252,261,264,276,277,285,298,299,307,308,316,317,318,319,324,326,338,341,344],unit:[27,31,34,36,37,45,47,55,62,64,79,82,107,124,130,139,176,184,198,219,269,324,331,344,350,364],unittest:[25,127,170,308,324,342],univers:[14,15,43,62,164],unix:[24,38,43,52,63,87,165,234,329,337,344],unixcommand:[141,142,178],unixcommandpars:234,unixtim:337,unjoin:179,unknown:[41,43,56,69,137,251,344],unleash:28,unless:[4,5,11,12,21,22,23,27,29,33,38,43,51,72,78,80,84,88,89,90,96,102,110,115,123,138,140,144,152,153,157,159,164,167,170,175,194,204,205,206,221,232,237,241,242,247,252,265,280,296,308,316,318,341,344,345],unlik:[37,51,64,73,90,107,127,144,180,219,318],unlimit:235,unlink:159,unload:342,unload_modul:342,unlock:[58,77,80,164,316],unlocks_red_chest:80,unlog:[43,157,162,163,171,186,308],unloggedin:[105,141,142,149,155,308],unloggedincmdset:[35,43,105,163,186],unlucki:12,unmask:206,unmodifi:[151,168,187,328],unmonitor:272,unmut:[164,175],unmute_channel:164,unnam:[112,152],unneccesari:113,unnecessari:[36,61],unneed:235,unpaced_data:276,unpack:[91,241],unpars:[74,87,151,295,296],unpaus:[100,102,169,260],unpickl:[83,276,316,325,340],unplay:[25,105],unpredict:344,unprivileg:252,unprogram:73,unpuppet:[43,96,107,123,156],unpuppet_al:144,unpuppet_object:[2,144],unquel:[20,43,80,122,156],unreal:79,unrecord_ip:310,unregist:135,unrel:[51,131,145],unrepat:344,unrepeat:[272,344],unreport:272,unsaf:[110,152,233],unsatisfactori:111,unsav:326,unsel:85,unset:[33,49,58,89,116,157,170,206,231,242,247,251,252,261,324,328,329,330,337],unset_lock:164,unsign:345,unsigned_integ:[338,345],unsignedinteg:338,unstabl:100,unstrip:151,unsub:164,unsub_from_channel:164,unsubscrib:[43,58,115,164,261,278],unsuit:[19,251,319],unsur:[15,37,63,71,76,90,116,138,213],untag:137,untest:[24,61,63,127],until:[5,8,10,11,12,13,20,26,29,30,31,33,36,48,51,61,63,64,86,87,93,95,97,102,114,115,119,123,126,131,136,137,138,139,179,182,184,198,217,218,219,220,221,226,231,232,233,247,260,267,296,298,321,322,331,344],untouch:321,untrust:[13,344],unus:[33,81,144,150,154,164,175,187,215,221,233,247,259,290,306,311,317],unusu:[103,119],unwant:139,unwield:218,unwieldli:153,upcom:54,updat:[2,4,5,8,9,11,13,14,20,23,24,28,29,30,33,36,38,39,43,45,49,51,55,57,58,61,62,63,64,68,71,73,75,76,79,81,83,84,86,88,89,90,91,95,97,98,100,102,115,116,123,127,133,134,135,136,137,138,139,145,146,153,154,159,164,167,169,170,175,183,187,195,206,220,233,239,242,246,247,249,250,252,257,283,285,286,291,305,306,308,310,315,316,318,325,326,327,328,329,330,334,344,357,360,362,364],update_attribut:316,update_buff:326,update_cached_inst:334,update_charsheet:58,update_current_descript:187,update_default:305,update_flag:306,update_po:49,update_session_count:306,update_undo:326,update_weath:233,updated_bi:192,updated_on:192,updatemethod:[137,138],updateview:362,upfir:106,upgrad:[63,64,75],upload:[4,63,64,90,100],upon:[14,29,61,80,86,90,96,100,103,113,117,123,188,210,217,218,219,220,221,258,269,278,310,329,362],upp:233,upper:[29,39,43,86,101,114,127,138,156,321],uppercas:[114,321],upping:114,ups:7,upsel:90,upsid:[41,235],upstart:40,upstream:[26,64,104,128],upt:153,uptim:[12,27,43,62,169,281,331],urfgar:109,uri:[175,239,318],url:[8,38,43,64,70,90,98,131,134,135,136,138,141,142,146,164,175,239,286,296,312,318,343,346,353,356,362],url_nam:360,url_or_ref:38,url_to_online_repo:131,urlencod:69,urlpattern:[3,4,69,133,134,135],usabl:[4,43,66,114,123,159,180,190,219,241,310,328],usag:[0,5,12,21,22,23,28,29,30,33,38,41,42,43,51,58,60,64,68,71,73,81,82,85,90,91,93,94,109,115,116,119,121,123,124,129,154,156,157,158,159,164,165,166,169,170,171,179,180,181,182,184,185,186,187,188,189,199,202,203,205,206,210,212,213,214,217,218,219,220,221,226,230,231,232,233,234,235,241,250,260,267,328,330,334],use:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,31,33,34,35,36,37,38,39,40,41,42,43,46,47,48,49,50,51,52,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,98,100,102,103,104,105,106,107,108,109,111,112,113,114,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,144,145,146,148,150,151,152,153,154,156,159,160,164,165,167,169,170,175,177,179,180,181,182,185,187,189,190,194,198,199,202,203,204,205,206,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,242,246,247,251,252,260,261,265,272,276,289,291,292,295,298,299,306,307,308,315,316,317,318,319,321,322,323,324,326,327,328,329,330,334,337,338,340,344,345,362],use_dbref:[206,247,341],use_destin:247,use_i18n:76,use_item:219,use_nick:[144,206,247],use_required_attribut:[145,237,244,357],use_success_location_messag:203,use_success_messag:203,use_xterm256:321,useabl:235,used:[0,2,3,7,9,10,11,13,15,16,17,19,20,22,23,24,27,29,30,31,34,35,38,40,41,43,46,47,48,50,51,52,54,55,56,57,58,59,60,62,63,64,67,68,69,72,73,74,79,80,82,83,84,85,86,87,88,89,90,91,93,94,95,96,100,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,133,134,135,136,137,139,141,144,145,146,150,152,153,154,156,159,164,166,167,168,169,170,175,179,180,182,184,186,187,188,189,190,192,194,195,198,199,204,205,206,213,215,217,218,219,220,221,226,231,232,233,234,235,238,240,241,242,244,247,251,252,259,260,261,262,264,265,269,272,273,276,277,278,279,280,281,282,283,284,285,287,289,290,291,294,295,296,299,306,308,309,315,316,317,318,319,320,321,322,324,325,326,328,329,330,337,338,339,340,341,344,345,350,357,362,363],used_kei:80,useful:[0,1,4,5,10,11,12,13,14,15,16,17,18,19,20,22,23,25,26,27,28,29,30,31,34,36,37,38,39,41,42,43,46,47,48,50,51,53,57,58,59,60,63,64,66,69,70,80,81,87,89,90,91,93,95,96,102,104,107,109,110,111,112,114,115,116,119,120,123,124,125,127,131,132,133,138,139,150,152,153,154,156,158,159,166,167,170,175,178,179,180,194,195,199,205,206,210,226,233,234,235,241,247,251,252,267,287,316,318,322,328,331,340,344],useless:231,uselock:241,user:[2,4,7,8,10,11,12,13,14,20,22,23,25,28,29,30,31,35,36,37,38,40,41,42,43,49,50,51,52,55,60,63,64,65,66,67,68,70,71,72,74,75,76,77,79,80,81,85,87,88,90,91,93,95,97,98,100,101,104,105,107,109,113,114,119,121,122,123,125,126,127,133,134,135,136,137,138,139,144,145,146,148,151,154,157,159,164,166,169,170,175,176,177,180,182,187,189,193,195,206,209,210,215,219,221,233,235,239,241,242,247,252,259,262,265,271,279,286,287,290,295,296,306,308,311,316,318,321,326,328,329,330,338,344,345,349,357,362,364],user_change_password:145,user_input:51,user_permiss:[145,148],useradmin:145,userauth:[94,287],userchangeform:145,usercreationform:[145,357],usernam:[2,4,12,35,51,74,100,107,119,131,134,144,145,148,186,287,311,349,357],username__contain:119,usernamefield:357,userpassword:[12,157],uses:[0,5,9,13,15,16,17,22,23,29,30,31,33,34,38,39,40,44,57,64,68,69,80,81,86,88,90,94,98,107,109,112,113,114,115,119,124,125,127,130,131,136,137,152,170,179,185,187,199,205,206,219,233,234,235,242,256,261,276,296,310,316,319,337,338,344],uses_databas:344,using:[2,4,5,6,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,36,37,38,39,41,43,45,46,47,49,50,51,53,55,56,57,58,59,60,61,62,63,64,67,68,70,71,72,73,74,77,78,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,103,105,107,108,109,110,111,112,114,115,116,117,118,120,121,122,123,124,125,126,128,129,131,132,133,134,137,138,139,140,144,148,150,153,154,156,158,159,164,167,168,169,170,175,179,180,181,184,185,187,188,190,194,203,205,206,212,213,214,215,217,218,219,220,221,230,231,233,234,235,242,247,250,251,252,256,260,261,278,279,280,285,286,290,296,299,308,309,310,312,316,318,319,321,322,326,328,329,331,337,338,339,340,341,342,344,346,357,362,363,364],usr:[63,64,75,100],usual:[0,2,4,5,6,8,9,11,19,20,21,22,23,25,26,27,29,30,31,33,34,37,38,40,41,43,46,47,50,51,52,57,59,60,62,63,64,67,72,74,80,81,87,89,90,91,93,95,96,97,100,102,105,106,109,110,112,114,115,119,124,125,126,127,131,133,136,144,146,151,152,153,154,156,159,164,165,169,170,177,184,194,195,198,204,205,206,233,234,242,246,247,252,267,269,274,299,306,315,316,318,321,323,324,328,329,337,339,341,344],utc:[23,345],utf8:[23,36,70],utf:[15,24,58,74,111,113,272,278,295,330,344],util:[8,10,11,13,14,16,34,41,45,47,48,49,50,51,52,57,58,59,62,63,81,82,85,86,89,96,97,102,103,111,114,117,124,127,133,134,137,139,141,142,145,158,170,175,177,178,184,187,188,191,195,196,211,213,220,226,228,230,237,239,244,247,249,251,259,260,274,293,298,315,316,317,318,346,357,360,364],utilis:328,uyi:205,v19:63,vagu:21,val:[11,88,144,156,291,344],valid:[1,11,13,26,30,31,33,42,43,44,51,58,60,67,69,88,89,90,91,95,96,97,102,103,109,110,114,119,123,133,134,141,142,144,151,153,159,167,170,175,176,179,180,188,192,195,196,204,206,215,220,232,233,234,235,242,247,249,251,252,257,259,260,261,262,265,267,291,295,306,316,317,319,322,324,328,338,339,340,341,343,344,345,357,362],valid_handl:338,validate_email_address:344,validate_nam:247,validate_onli:242,validate_password:[51,144],validate_prototyp:251,validate_sess:308,validate_usernam:144,validationerror:[144,251,311,338,340],validator_config:144,validator_kei:338,validatorfunc:[141,142,320],valign:330,valu:[0,2,4,6,10,11,12,17,20,22,25,27,28,31,33,39,41,42,43,49,50,58,59,60,61,62,64,67,69,73,74,77,80,81,82,84,85,86,87,88,90,97,102,111,114,115,116,123,125,126,127,128,133,134,137,138,139,144,148,150,152,154,156,157,159,170,175,177,180,182,185,188,189,190,192,195,196,203,204,205,206,211,217,218,219,220,221,228,233,235,239,241,242,246,247,250,251,252,256,260,261,265,272,273,274,276,285,290,291,306,307,308,313,316,317,318,319,321,323,324,325,326,327,328,334,335,338,339,340,341,344,345,350,357,362],valuabl:122,value1:109,value2:109,value_from_datadict:340,value_to_obj:251,value_to_obj_or_ani:251,value_to_str:340,valueerror:[41,91,109,123,180,202,204,316,319,321,324,344,345],valuei:111,values_list:119,valuex:111,vanilla:[9,26,49,56,58,86,101,125],vaniti:51,vari:[30,40,60,64,82,108,114,125,131,193,205,221,306,316,318],variabl:[0,3,5,11,13,28,31,33,38,41,43,46,49,51,55,56,58,64,66,69,80,83,88,91,95,96,97,100,103,104,106,109,113,121,124,133,134,135,137,138,144,148,150,154,156,159,164,167,169,170,175,183,187,188,192,194,195,198,203,233,241,246,247,251,252,264,267,277,280,281,283,287,289,299,306,313,321,322,328,344,350],variable_from_modul:344,variable_nam:[192,195],variablenam:344,varianc:205,variant:[11,55,112,153,180,186,213,278,321],variat:[62,73,116,152,187,205,344],varieti:[55,82,116,120,219,220],variou:[5,6,11,15,33,37,40,41,46,47,48,53,57,62,67,69,73,77,81,88,89,90,93,94,97,102,103,105,109,110,112,114,115,116,123,124,125,127,137,139,152,168,184,205,206,215,219,220,226,231,232,242,246,247,252,253,261,299,324,330,341,342],varnam:291,vast:[23,60,86,108,111,119],vastli:64,vcc:205,vccv:205,vccvccvc:205,vcpython27:9,vcv:205,vcvccv:205,vcvcvcc:205,vcvcvvccvcvv:205,vcvvccvvc:205,vector:344,vehicl:[21,124,139,364],velit:52,venu:[131,176],venv:[63,75],verb:[25,247,303],verbal:247,verbatim_el:344,verbos:[26,38,116,127,206],verbose_nam:[133,318],veri:[0,2,4,5,6,8,9,10,11,13,14,17,20,21,22,23,26,27,28,29,31,33,35,37,38,39,40,41,42,46,49,50,51,52,55,56,57,58,60,61,64,67,68,70,72,73,74,77,78,79,80,85,86,88,90,91,93,95,96,97,104,107,108,109,110,111,112,114,115,116,119,121,122,123,125,127,128,129,131,132,134,137,138,139,140,144,146,152,154,170,175,177,180,182,194,195,204,205,206,212,213,214,215,220,231,234,235,238,246,251,271,317,319,324,326,328,344,362],verif:90,verifi:[36,51,63,90,131,159,170,188,220,292],verify_online_play:188,verify_or_create_ssl_key_and_cert:292,verify_ssl_key_and_cert:288,verifyfunc:188,versa:[40,43,61,88,105,116,164,276],version:[2,4,7,11,13,14,20,21,23,24,29,30,31,33,35,36,37,41,43,47,51,54,57,60,61,63,64,74,75,76,79,81,86,87,90,91,95,96,100,108,111,114,123,124,125,126,128,136,137,139,159,167,169,171,181,182,186,187,206,218,219,220,221,226,232,247,252,267,272,286,310,315,316,321,329,344,357,363,364],version_info:267,versionad:38,versionchang:38,versu:55,vertic:[138,232,330,344],very_strong:242,very_weak:80,vest:103,vet:109,veteran:79,vfill_char:330,via:[10,11,27,37,40,51,52,55,56,57,63,70,73,74,83,85,86,90,92,93,101,103,108,109,114,119,123,125,126,131,137,172,176,177,209,226,246,256,316,319,321,335],viabl:231,vice:[40,43,61,88,105,116,164,276],vicin:[33,43,165,187,233],video:[79,95,114,137],vienv:9,view:[1,4,17,27,34,38,41,42,43,50,51,52,55,58,60,63,64,72,80,82,86,90,96,101,102,110,111,115,116,123,124,131,136,139,141,142,144,156,157,159,164,165,169,175,182,206,217,218,219,220,221,235,237,239,247,249,302,318,329,346,350,353,356,357,364],view_attr:159,viewabl:[53,55,166],viewer:[25,38,69,206,235,241,247,318],viewport:42,vim:[14,50,79,326],vincent:[41,180,187,204,234],violent:51,virtual:[4,41,43,55,57,59,63,79,90,124,169,187,331],virtual_env:75,virtualenv:[9,23,26,36,38,63,75,76,90,93,95,96,97,100,106,110,128],virtualhost:8,viru:63,visibl:[13,25,31,36,38,43,48,54,61,63,67,69,81,90,96,105,114,123,125,131,139,165,206,241,247,279,312,328,344],visiblelock:241,vision:[11,58,61],visit:[22,49,90,111,133,134,234,328],visitor:[103,134,135],vista:63,visual:[25,57,63,93,114,137,144,166,190,363],vital:91,vlgeoff:184,vlovfgjyq2qvcdougpb6c8due7skt:70,vniftg:63,vnum:56,vocabulari:[46,344],voic:[33,46,124,139,364],volatil:251,volum:[21,61,100,111],volund:119,voluntari:37,volupt:52,vowel:[119,205],vpad_char:330,vulner:[29,103],vvc:205,vvcc:205,vvccv:205,vvccvvcc:205,vwcukflrfii:133,vwcukgy84ri:133,vwcukjfxeii:133,vwculn152ti:133,w001:127,w267:133,w321:133,w425:133,w607:133,wai:[0,2,5,6,9,10,11,12,13,14,15,19,20,21,22,23,27,28,30,31,33,37,38,39,40,41,42,43,44,46,48,49,54,55,56,57,58,61,62,63,64,68,69,70,72,73,74,75,79,80,82,83,84,85,86,87,88,89,90,91,92,93,95,96,97,98,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,136,138,139,140,144,151,152,159,166,175,179,184,185,187,188,190,194,198,205,212,213,215,217,218,219,220,221,226,230,231,232,234,242,247,251,261,267,272,276,287,308,310,312,313,314,317,319,322,327,328,330,334,337,340,362,364],wail:49,waist:182,wait:[0,10,20,25,27,28,29,33,42,51,102,121,138,146,194,198,217,218,219,220,221,226,267,277,296,298,310,324,328,344],wait_for_disconnect:277,wait_for_server_connect:277,wait_for_statu:267,wait_for_status_repli:267,waiter:267,wake:188,walias:[43,159],walk:[0,14,21,31,39,46,49,60,62,85,139,213,214,215,226,235,322],walki:64,wall:[111,157,165,187,232,233],wanna:[37,179,226],want:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,37,38,39,40,41,42,43,44,46,48,49,50,51,54,57,58,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,102,103,104,105,106,107,108,109,110,111,113,114,115,118,119,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,144,152,153,154,156,165,170,179,180,186,187,188,190,204,206,209,215,217,218,219,220,221,226,233,235,237,241,242,247,252,259,261,283,285,291,298,308,313,315,316,318,326,328,329,334,340,344,357,362,363],wanted_id:80,warchannel:164,ware:85,warehous:[209,322],wari:[114,235,247,318],warm:[102,110,271],warn:[8,23,27,31,59,60,63,64,90,91,93,104,105,111,128,134,138,140,152,175,210,266,267,292,337],warnmsg:337,warrior:[28,57,58,61,122,123,164],wasclean:[278,295],wasn:[0,42,134],wast:[6,14,115],watch:[14,84,106,139],water:[153,203],waterballon:203,wave:111,wcach:[43,169],wcactu:220,wcommandnam:234,wcure:220,wdestin:[43,159],weak:252,weakref:334,weaksharedmemorymodel:[274,334],weaksharedmemorymodelbas:[274,334],weakvalu:334,wealth:85,weapon:[29,51,61,64,73,77,82,85,86,109,116,122,218,231,232,252],weapon_ineffective_msg:231,weapon_prototyp:232,weaponrack_cmdset:232,wear:[82,182,206,218,226],wearabl:182,wearer:182,wearstyl:182,weather:[30,61,73,102,111,112,115,122,124,139,140,233,364],weather_script:102,weatherroom:[132,233],web:[4,8,9,16,17,23,25,30,38,47,53,55,57,61,63,64,67,69,72,75,76,79,80,83,94,95,101,109,110,119,139,141,142,173,269,271,281,285,291,295,296,306,310,312,319,325,364],web_client_url:54,web_get_admin_url:[175,239,318],web_get_create_url:[175,239,318],web_get_delete_url:[175,239,318],web_get_detail_url:[175,239,318],web_get_puppet_url:318,web_get_update_url:[175,239,318],webchargen:133,webchat:[70,79],webclient:[24,30,40,43,45,53,54,64,67,69,83,88,95,103,105,110,114,135,139,141,142,169,230,262,272,275,291,296,307,328,346,350,351,360,364],webclient_ajax:[137,141,142,262,275],webclient_en:103,webclient_opt:272,webclientdata:296,webclienttest:360,webpag:[8,17,77,90,354],webport:36,webscr:70,webserv:[3,7,8,9,23,36,40,47,55,67,90,100,101,104,135,139,141,142,262,346],webserver_en:103,webserver_interfac:[67,90],webserver_port:90,webservic:103,websit:[3,9,17,53,55,57,64,67,69,79,90,98,101,103,124,133,136,137,138,139,141,142,145,296,312,346,351,364],websocket:[40,55,64,90,100,137,278,284,295,307],websocket_client_interfac:[67,90],websocket_client_port:[67,90],websocket_client_url:[8,67,90],websocket_clos:295,websocketcli:295,websocketclientfactori:278,websocketclientprotocol:278,websocketserverfactori:284,websocketserverprotocol:295,weed:[26,119,152],week:[62,184,337,345],weeklylogfil:337,weigh:[82,298],weight:[23,38,61,108,124,139,190,205,317,364],weird:344,weirdli:96,welcom:[3,4,22,35,37,63,72,76,85],well:[2,4,6,9,11,12,16,17,19,21,22,23,25,26,33,37,38,39,40,41,43,44,45,46,49,50,51,52,55,57,58,61,62,64,66,68,69,71,74,75,81,85,88,89,91,96,98,103,104,105,106,108,109,113,116,118,119,120,123,124,125,127,128,131,133,134,135,136,138,148,152,153,154,159,164,169,172,175,179,182,187,194,202,205,206,215,219,220,221,226,231,247,256,262,267,276,278,279,285,302,310,315,316,317,321,325,328,331,340,344],went:[57,110,127,131,257,261],were:[1,10,11,13,24,31,33,37,38,42,44,51,58,59,64,69,77,82,85,86,91,100,102,104,108,109,119,123,125,126,127,137,144,151,152,153,164,175,204,215,247,251,314,318,322,341,344],weren:62,werewolf:25,werewolv:119,werkzeug:344,west:[20,25,44,49,111,159,233],west_east:111,west_exit:233,western:111,westward:233,wether:[179,324],wevennia:22,wflame:220,wflushmem:[43,169],wfull:220,wguild:164,what:[0,1,2,4,8,9,10,12,13,14,19,20,21,22,23,25,26,27,29,31,33,38,39,40,42,43,44,45,46,48,49,51,56,57,58,60,61,62,63,64,67,68,69,70,72,73,74,77,78,79,80,81,83,85,86,88,89,90,93,94,95,96,97,98,102,103,104,105,108,109,110,111,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,136,138,139,140,144,150,152,153,154,156,159,166,170,175,195,203,204,206,209,214,219,220,231,233,239,242,247,250,251,252,267,269,272,279,291,296,311,313,316,318,319,321,322,328,338,339,344,345,349,357,362,364],whatev:[2,11,14,21,22,23,27,33,40,43,46,48,51,56,58,61,64,67,78,82,89,91,100,102,111,123,127,131,133,134,138,144,146,153,159,188,220,231,232,247,252,256,257,278,287,290,295,308,316,329,338,362],whatnot:138,wheel:[57,63,75,115],whelp:[166,234],when:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,17,19,20,21,22,23,24,26,27,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,49,50,51,52,56,57,58,59,60,61,62,63,64,65,66,67,68,69,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,136,137,138,139,141,144,146,148,150,152,153,154,156,158,159,164,165,166,167,168,169,171,175,176,177,179,180,181,182,184,185,186,187,188,189,190,195,196,198,199,202,203,204,205,206,212,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,238,239,241,242,246,247,249,251,252,256,257,259,260,261,264,267,269,273,274,276,277,278,279,280,281,282,283,285,287,288,289,290,291,292,295,296,298,299,305,306,307,308,309,310,316,318,319,321,322,324,325,326,327,328,329,330,334,335,337,339,344,357,362],when_stop:267,whenev:[6,10,11,22,25,33,46,64,66,74,76,80,84,87,90,95,98,100,102,106,107,109,111,113,117,119,128,144,153,175,231,232,233,247,257,259,269,286,306,307,308],where:[0,1,3,6,9,10,11,12,13,14,20,21,22,25,26,29,31,33,36,38,39,40,41,42,43,46,48,49,50,51,52,56,57,58,59,61,62,64,69,73,75,76,80,83,85,86,88,90,91,95,100,102,103,104,105,108,109,111,113,114,117,118,119,121,122,123,124,125,127,131,133,134,135,136,137,138,139,151,152,157,159,165,168,170,175,176,181,185,199,205,206,210,219,232,233,235,241,242,247,251,252,257,267,269,272,276,299,304,308,315,316,318,321,322,326,328,329,330,338,339,344,362],wherea:[11,12,13,19,21,26,31,33,34,40,42,55,56,61,80,81,85,86,93,97,103,105,109,113,114,116,125,128,205,261,296,316,334],whereabout:122,wherebi:220,wherev:[11,63,64,67,100,111,127,180,209,219],whether:[0,12,39,43,46,51,55,62,69,77,121,144,146,153,159,164,166,175,188,215,217,218,219,220,221,241,247,261,278,295,310,316,317,321,338,340,344],whewiu:9,which:[0,1,3,4,5,6,9,10,11,12,13,14,15,19,20,22,24,25,26,27,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,46,49,51,52,56,57,58,59,60,61,62,63,64,65,66,67,69,71,72,73,74,76,77,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,97,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,131,132,133,134,135,136,137,138,139,140,144,146,150,152,153,154,156,157,159,165,167,169,170,175,176,177,179,180,181,182,183,184,187,188,190,198,199,202,206,209,210,212,214,215,217,218,219,220,221,226,231,232,233,234,235,239,242,246,247,251,252,256,257,259,261,264,266,267,271,272,279,285,287,295,296,298,299,306,307,308,310,313,315,316,317,318,319,321,322,324,325,328,329,330,331,334,337,338,340,341,342,344,349,350,357,362],whichev:[27,90,103,233],whilst:[77,111],whim:139,whisp:205,whisper:[46,165,198,205,206,247],white:[48,74,114,126,321,344],whitelist:74,whitepag:[1,48,138],whitespac:[14,27,33,58,81,119,123,167,202,206,321,322,330,344],who:[4,10,11,12,21,34,41,46,49,51,55,56,58,61,73,80,87,95,103,109,114,116,119,121,123,124,125,127,132,133,138,146,154,156,159,164,175,179,188,195,205,206,217,218,219,220,221,232,239,241,242,247,252,318,326,328],whoever:133,whole:[4,16,43,49,51,55,57,60,61,67,87,96,111,112,122,123,129,138,152,159,169,221,330],wholist:175,whome:[43,159],whomev:[73,114,121,226],whose:[88,114,119,125,144,154,170,195,206,215,217,218,219,220,221,272,323,328,344],whould:328,why:[0,11,12,20,22,25,38,39,41,43,44,46,51,55,60,63,64,82,91,95,96,103,111,123,125,126,139,157,204,217,220,221,264,265,328],whydonttwist:94,wick:316,wide:[16,25,27,39,43,58,61,73,86,91,138,157,219,220,235,327,330,344],widen:12,wider:[12,25,39,43,157,330],widest:344,widget:[145,237,244,315,340,357],width:[16,17,25,27,33,49,74,109,111,114,141,154,272,287,306,321,326,327,329,330,344],wield:[61,82,109,218],wifi:[90,103],wiki:[1,9,33,37,43,45,48,55,58,64,70,79,94,96,108,111,116,124,125,138,180,295,363,364],wiki_account_handl:4,wiki_account_signup_allow:4,wiki_can:4,wiki_can_admin:4,wiki_can_assign:4,wiki_can_assign_own:4,wiki_can_change_permiss:4,wiki_can_delet:4,wiki_can_moder:4,wiki_can_read:4,wiki_can_writ:4,wikiconfig:4,wikimedia:37,wikipedia:[15,37,55,64,96,113,116,127,131,295],wild:[108,126,131],wildcard:[12,43,57,87,157,159,344],wildcard_to_regexp:344,wilder:[141,142,178],wildernessexit:235,wildernessmap:235,wildernessmapprovid:235,wildernessroom:235,wildernessscript:235,wildli:205,will_suppress_ga:289,will_ttyp:294,willing:[58,61,79],win10:63,win7:63,win8:63,win:[9,24,91,116,122],wind:[122,132],window:[4,23,25,31,38,44,45,49,52,64,72,76,83,88,89,93,95,96,97,101,105,106,110,128,131,137,138,154,166,267,283,306,310,329,344],windowid:306,windows10:63,wingd:111,winpti:9,winter:187,wintext:73,wip:38,wipe:[9,13,23,111,138,152,159,169,219],wire:[27,40,64,83,88,90,113,138,168,264,276,277,308,321],wis:58,wisdom:[60,93],wise:[6,11,13,14,15,26,58,60,80,96,118,131,135],wise_text:60,wiseobject:60,wiser:20,wiseword:60,wish:[33,36,39,75,120,131,136,180,221,321,343,357],with_metaclass:96,with_tag:203,withdraw:[116,221],withdrawl:221,within:[1,8,9,10,11,22,24,26,31,33,37,38,39,43,47,49,51,56,58,64,90,94,95,97,100,114,115,116,117,118,119,120,124,126,131,134,136,137,138,144,148,150,159,179,187,190,192,210,238,247,252,260,310,316,317,321,337,344,357,362],without:[0,8,11,12,13,14,16,20,21,22,23,25,27,29,30,31,33,35,37,38,40,42,43,44,46,49,50,51,55,57,58,59,60,61,63,64,66,67,76,80,86,88,90,91,92,93,96,97,100,101,104,107,108,109,114,115,118,119,121,123,125,126,127,128,129,131,133,136,138,139,144,146,151,154,156,157,159,164,165,167,168,169,170,175,177,179,181,182,187,192,195,205,206,212,215,217,220,221,226,231,233,242,247,250,251,252,259,260,276,287,290,291,298,308,309,316,318,321,322,324,325,326,328,329,337,340,341,344],withstand:80,wixmp:122,wiz:58,wizard:[109,233,252,265,267],wkei:[43,159],wlocat:[43,159],wlock:[43,159],wmagic:220,wmass:220,wndb_:[43,159],won:[0,2,4,10,11,12,13,15,21,22,23,29,31,38,41,42,46,57,61,63,69,73,78,81,83,85,86,91,95,96,100,111,114,119,123,125,127,134,137,138,153,188,204,223,226,312,321,340],wonder:[9,16,56,82,119,138],wont_suppress_ga:289,wont_ttyp:294,wooden:109,woosh:21,word:[14,27,33,43,46,49,50,62,69,70,72,76,88,89,91,93,94,95,96,97,111,119,122,126,131,136,151,166,167,171,186,198,205,206,279,326,341,344],word_fil:205,word_length_vari:205,wordi:205,work:[0,2,4,5,8,9,10,11,13,14,15,16,20,21,22,23,24,25,26,27,28,29,31,34,36,37,38,41,42,43,44,48,49,51,56,57,58,59,60,61,62,63,64,66,67,70,71,72,75,80,81,83,84,85,86,89,90,93,94,95,96,97,102,103,105,106,108,109,111,112,114,115,116,117,119,122,123,124,126,127,128,129,132,133,134,136,138,139,150,153,154,156,159,164,165,167,169,175,179,180,181,187,202,203,206,212,215,219,220,221,233,234,235,239,241,242,247,251,252,267,271,272,284,299,312,314,316,318,322,327,328,329,330,338,344,362,363,364],workaround:[63,100,131],workflow:[61,145],world:[9,10,11,13,14,15,21,27,31,33,34,39,41,47,49,51,55,57,58,60,62,63,64,68,72,73,78,79,80,82,86,90,96,104,108,109,111,113,116,117,121,123,124,127,131,139,144,158,159,164,166,170,179,184,202,206,217,218,219,220,221,232,233,235,239,256,306,308,321,322,331,363,364],world_map:111,worm:49,worm_has_map:49,worn:[182,218],worri:[0,11,15,36,39,41,51,55,104,113,114,123,127,138,179],worst:61,worth:[0,8,21,29,51,61,70,79,91,93,124,125,133,179],worthi:61,worthless:90,would:[0,1,4,6,8,9,10,11,13,14,15,16,19,20,21,22,25,27,29,31,33,36,38,39,41,42,43,44,46,48,49,51,55,56,57,58,60,61,62,63,64,68,69,73,77,80,81,82,85,86,88,89,90,91,93,95,96,100,102,105,106,109,111,112,114,115,116,117,118,119,121,123,125,126,127,128,133,134,135,136,138,140,144,151,152,153,159,168,175,179,184,195,205,215,226,234,235,239,241,242,251,252,279,315,318,321,322,325,328,339,340,342,344],wouldn:[39,126,138],wound:220,wow:[69,138],wpermiss:[43,159],wprototype_desc:[43,159],wprototype_kei:[43,159],wprototype_lock:[43,159],wprototype_par:[43,159],wprototype_tag:[43,159],wrap:[10,30,49,51,59,96,102,109,119,136,182,188,206,274,314,330,344],wrap_conflictual_object:340,wrapper:[10,27,29,51,74,86,93,105,119,125,144,148,176,177,212,239,246,247,256,260,272,274,306,315,316,318,319,321,330,334,335,337,344,362],wresid:[43,169],write:[0,4,10,11,14,15,16,20,22,23,25,27,31,33,34,37,38,41,43,44,46,48,51,56,58,62,63,65,68,69,71,72,87,88,91,93,94,96,108,123,124,125,129,131,138,159,164,166,175,180,209,210,234,247,280,337,342,362,363,364],writeabl:75,written:[15,27,38,54,56,57,58,61,79,103,109,127,133,134,166,209,322,362],wrong:[26,41,42,43,60,63,81,85,95,110,127,152,159,169,206],wrote:170,wserver:[43,169],wservic:[43,164],wsgi:[8,94,312],wsgi_resourc:312,wsgiwebserv:312,wsl:[38,63],wss:[8,67,90],wtypeclass:[43,159],wwhere:247,www:[8,9,22,38,39,55,57,64,70,79,90,108,128,133,141,282,283,289,291,343,357],wyou:82,x0c:159,x1b:[321,343],x2x:58,x4x:327,x5x:327,x6x:327,x7x:327,x8x:327,x9x:327,x_r:39,xc8ymjkxnmmyns02mjk5ltq1m2qtytiyms00ndzlyzgzowy1njdcl2rhmnbtenutndzknjnjnmqtownkyy00mwrkltg3zdytmtew:122,xcode:63,xenial:130,xforward:312,xgettext:76,xit:[22,180],xmlcharrefreplac:321,xp_gain:73,xpo:330,xterm256:[43,55,74,81,83,137,156,183,190,272,287,290,321,364],xterm256_bg:321,xterm256_bg_sub:321,xterm256_fg:321,xterm256_fg_sub:321,xterm256_gbg:321,xterm256_gbg_sub:321,xterm256_gfg:321,xterm256_gfg_sub:321,xterm:[114,126],xterms256:114,xval:33,xxx:[25,42,204],xxxx:204,xxxxx1xxxxx:327,xxxxx3xxxxx:327,xxxxxxx2xxxxxxx:327,xxxxxxxxxx3xxxxxxxxxxx:58,xxxxxxxxxx4xxxxxxxxxxx:58,xxxxxxxxxxx:327,xxxxxxxxxxxxxx1xxxxxxxxxxxxxxx:58,xxxxxxxxxxxxxxxxxxxxxx:58,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:58,xyz:87,y_r:39,yan:[114,321],yank:50,yeah:138,year:[25,55,61,62,88,90,108,184,331,337,344,357],yearli:[62,90],yellow:[114,126,131,232],yep:138,yes:[10,33,39,46,51,126,138,159,198,265,326,328,344],yes_act:328,yes_no_question_cmdset:328,yesno:[51,326],yesnoquestioncmdset:328,yet:[0,2,4,12,14,22,25,28,35,36,41,42,46,49,51,54,60,63,64,67,76,79,86,90,94,96,105,109,111,119,121,128,130,131,133,134,138,144,164,171,179,186,195,226,242,246,260,285,308,312,321,362],yield:[10,23,33,80,108,159,170,210,330,344],yml:[100,130],yogurt:203,you:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,144,153,154,156,159,164,165,166,167,168,169,170,171,175,179,180,181,182,183,184,187,188,190,193,194,195,198,199,202,203,204,205,206,209,210,212,213,214,215,217,218,219,220,221,223,226,232,233,234,235,237,241,242,247,252,258,259,260,261,269,278,279,280,296,298,308,310,312,313,316,318,321,322,324,327,328,330,331,340,341,344,357,362,363],young:77,your:[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,21,22,23,25,27,29,30,31,34,35,36,37,38,41,42,43,44,45,46,47,48,49,50,51,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,85,87,88,91,93,95,96,98,101,102,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,132,134,135,136,138,139,140,144,148,151,153,154,156,157,159,164,165,166,169,170,171,179,180,182,183,184,185,186,187,188,190,194,204,205,206,209,210,213,215,217,218,219,220,221,223,226,232,233,234,235,241,242,246,298,315,318,321,326,328,330,340,341,342,344,345,357,362,364],your_email:131,yourgam:209,yourhostnam:67,yournam:8,yourpassword:23,yourrepo:106,yourself:[0,2,5,6,14,16,19,22,23,26,31,37,42,43,51,55,58,63,69,70,73,78,80,86,89,90,91,96,102,108,111,119,123,125,130,131,135,159,165,179,189,206,212,220,223,328],yoursit:133,yourusernam:131,yourwebsit:133,yousuck:12,yousuckmor:12,youth:188,youtub:131,ypo:330,yrs:184,ythi:114,yum:[8,67,131],yvonn:58,z_r:39,zed:[77,79],zero:[20,27,109,164,206,247,316,321],zine:61,zip:103,zlib:[75,276,280],zmud:[24,282],zone:[18,46,55,56,70,79,112,119,122,124,139,319,337,364],zope:97,zopeinterfac:63,zuggsoft:282,zy1rozgc6mq:45},titles:["A voice operated elevator using events","API refactoring","Accounts","Add a simple new web page","Add a wiki on your website","Adding Command Tutorial","Adding Object Typeclass Tutorial","Administrative Docs","Apache Config","Arxcode installing help","Async Process","Attributes","Banning","Batch Code Processor","Batch Command Processor","Batch Processors","Bootstrap & Evennia","Bootstrap Components and Utilities","Builder Docs","Building Permissions","Building Quickstart","Building a mech tutorial","Building menus","Choosing An SQL Server","Client Support Grid","Coding FAQ","Coding Introduction","Coding Utils","Command Cooldown","Command Duration","Command Prompt","Command Sets","Command System","Commands","Communications","Connection Screen","Continuous Integration","Contributing","Contributing to Evennia Docs","Coordinates","Custom Protocols","Customize channels","Debugging","Default Command Help","Default Exit Errors","Developer Central","Dialogues in events","Directory Overview","Docs refactoring","Dynamic In Game Map","EvEditor","EvMenu","EvMore","API Summary","Evennia Game Index","Evennia Introduction","Evennia for Diku Users","Evennia for MUSH Users","Evennia for roleplaying sessions","Execute Python Code","First Steps Coding","Game Planning","Gametime Tutorial","Getting Started","Glossary","Grapevine","Guest Logins","HAProxy Config (Optional)","Help System","Help System Tutorial","How To Get And Give Help","How to connect Evennia to Twitter","IRC","Implementing a game rule system","Inputfuncs","Installing on Android","Internationalization","Learn Python for Evennia The Hard Way","Licensing","Links","Locks","Manually Configuring Color","Mass and weight for objects","Messagepath","MonitorHandler","NPC shop Tutorial","New Models","Nicks","OOB","Objects","Online Setup","Parsing command arguments, theory and best practices","Portal And Server","Profiling","Python 3","Python basic introduction","Python basic tutorial part two","Quirks","RSS","Roadmap","Running Evennia in Docker","Screenshot","Scripts","Security","Server Conf","Sessions","Setting up PyCharm","Signals","Soft Code","Spawner and Prototypes","Start Stop Reload","Static In Game Map","Tags","Text Encodings","TextTags","TickerHandler","Turn based Combat System","Tutorial Aggressive NPCs","Tutorial NPCs listening","Tutorial Searching For Objects","Tutorial Tweeting Game Stats","Tutorial Vehicles","Tutorial World Introduction","Tutorial for basic MUSH like game","Tutorials","Typeclasses","Understanding Color Tags","Unit Testing","Updating Your Game","Using MUX as a Standard","Using Travis","Version Control","Weather Tutorial","Web Character Generation","Web Character View Tutorial","Web Features","Web Tutorial","Webclient","Webclient brainstorm","Wiki Index","Zones","evennia","evennia","evennia.accounts","evennia.accounts.accounts","evennia.accounts.admin","evennia.accounts.bots","evennia.accounts.manager","evennia.accounts.models","evennia.commands","evennia.commands.cmdhandler","evennia.commands.cmdparser","evennia.commands.cmdset","evennia.commands.cmdsethandler","evennia.commands.command","evennia.commands.default","evennia.commands.default.account","evennia.commands.default.admin","evennia.commands.default.batchprocess","evennia.commands.default.building","evennia.commands.default.cmdset_account","evennia.commands.default.cmdset_character","evennia.commands.default.cmdset_session","evennia.commands.default.cmdset_unloggedin","evennia.commands.default.comms","evennia.commands.default.general","evennia.commands.default.help","evennia.commands.default.muxcommand","evennia.commands.default.syscommands","evennia.commands.default.system","evennia.commands.default.tests","evennia.commands.default.unloggedin","evennia.comms","evennia.comms.admin","evennia.comms.channelhandler","evennia.comms.comms","evennia.comms.managers","evennia.comms.models","evennia.contrib","evennia.contrib.barter","evennia.contrib.building_menu","evennia.contrib.chargen","evennia.contrib.clothing","evennia.contrib.color_markups","evennia.contrib.custom_gametime","evennia.contrib.dice","evennia.contrib.email_login","evennia.contrib.extended_room","evennia.contrib.fieldfill","evennia.contrib.gendersub","evennia.contrib.health_bar","evennia.contrib.ingame_python","evennia.contrib.ingame_python.callbackhandler","evennia.contrib.ingame_python.commands","evennia.contrib.ingame_python.eventfuncs","evennia.contrib.ingame_python.scripts","evennia.contrib.ingame_python.tests","evennia.contrib.ingame_python.typeclasses","evennia.contrib.ingame_python.utils","evennia.contrib.mail","evennia.contrib.mapbuilder","evennia.contrib.menu_login","evennia.contrib.multidescer","evennia.contrib.puzzles","evennia.contrib.random_string_generator","evennia.contrib.rplanguage","evennia.contrib.rpsystem","evennia.contrib.security","evennia.contrib.security.auditing","evennia.contrib.security.auditing.outputs","evennia.contrib.security.auditing.server","evennia.contrib.security.auditing.tests","evennia.contrib.simpledoor","evennia.contrib.slow_exit","evennia.contrib.talking_npc","evennia.contrib.tree_select","evennia.contrib.turnbattle","evennia.contrib.turnbattle.tb_basic","evennia.contrib.turnbattle.tb_equip","evennia.contrib.turnbattle.tb_items","evennia.contrib.turnbattle.tb_magic","evennia.contrib.turnbattle.tb_range","evennia.contrib.tutorial_examples","evennia.contrib.tutorial_examples.bodyfunctions","evennia.contrib.tutorial_examples.cmdset_red_button","evennia.contrib.tutorial_examples.example_batch_code","evennia.contrib.tutorial_examples.red_button","evennia.contrib.tutorial_examples.red_button_scripts","evennia.contrib.tutorial_examples.tests","evennia.contrib.tutorial_world","evennia.contrib.tutorial_world.intro_menu","evennia.contrib.tutorial_world.mob","evennia.contrib.tutorial_world.objects","evennia.contrib.tutorial_world.rooms","evennia.contrib.unixcommand","evennia.contrib.wilderness","evennia.help","evennia.help.admin","evennia.help.manager","evennia.help.models","evennia.locks","evennia.locks.lockfuncs","evennia.locks.lockhandler","evennia.objects","evennia.objects.admin","evennia.objects.manager","evennia.objects.models","evennia.objects.objects","evennia.prototypes","evennia.prototypes.menus","evennia.prototypes.protfuncs","evennia.prototypes.prototypes","evennia.prototypes.spawner","evennia.scripts","evennia.scripts.admin","evennia.scripts.manager","evennia.scripts.models","evennia.scripts.monitorhandler","evennia.scripts.scripthandler","evennia.scripts.scripts","evennia.scripts.taskhandler","evennia.scripts.tickerhandler","evennia.server","evennia.server.admin","evennia.server.amp_client","evennia.server.connection_wizard","evennia.server.deprecations","evennia.server.evennia_launcher","evennia.server.game_index_client","evennia.server.game_index_client.client","evennia.server.game_index_client.service","evennia.server.initial_setup","evennia.server.inputfuncs","evennia.server.manager","evennia.server.models","evennia.server.portal","evennia.server.portal.amp","evennia.server.portal.amp_server","evennia.server.portal.grapevine","evennia.server.portal.irc","evennia.server.portal.mccp","evennia.server.portal.mssp","evennia.server.portal.mxp","evennia.server.portal.naws","evennia.server.portal.portal","evennia.server.portal.portalsessionhandler","evennia.server.portal.rss","evennia.server.portal.ssh","evennia.server.portal.ssl","evennia.server.portal.suppress_ga","evennia.server.portal.telnet","evennia.server.portal.telnet_oob","evennia.server.portal.telnet_ssl","evennia.server.portal.tests","evennia.server.portal.ttype","evennia.server.portal.webclient","evennia.server.portal.webclient_ajax","evennia.server.profiling","evennia.server.profiling.dummyrunner","evennia.server.profiling.dummyrunner_settings","evennia.server.profiling.memplot","evennia.server.profiling.settings_mixin","evennia.server.profiling.test_queries","evennia.server.profiling.tests","evennia.server.profiling.timetrace","evennia.server.server","evennia.server.serversession","evennia.server.session","evennia.server.sessionhandler","evennia.server.signals","evennia.server.throttle","evennia.server.validators","evennia.server.webserver","evennia.settings_default","evennia.typeclasses","evennia.typeclasses.admin","evennia.typeclasses.attributes","evennia.typeclasses.managers","evennia.typeclasses.models","evennia.typeclasses.tags","evennia.utils","evennia.utils.ansi","evennia.utils.batchprocessors","evennia.utils.containers","evennia.utils.create","evennia.utils.dbserialize","evennia.utils.eveditor","evennia.utils.evform","evennia.utils.evmenu","evennia.utils.evmore","evennia.utils.evtable","evennia.utils.gametime","evennia.utils.idmapper","evennia.utils.idmapper.manager","evennia.utils.idmapper.models","evennia.utils.idmapper.tests","evennia.utils.inlinefuncs","evennia.utils.logger","evennia.utils.optionclasses","evennia.utils.optionhandler","evennia.utils.picklefield","evennia.utils.search","evennia.utils.test_resources","evennia.utils.text2html","evennia.utils.utils","evennia.utils.validatorfuncs","evennia.web","evennia.web.urls","evennia.web.utils","evennia.web.utils.backends","evennia.web.utils.general_context","evennia.web.utils.middleware","evennia.web.utils.tests","evennia.web.webclient","evennia.web.webclient.urls","evennia.web.webclient.views","evennia.web.website","evennia.web.website.forms","evennia.web.website.templatetags","evennia.web.website.templatetags.addclass","evennia.web.website.tests","evennia.web.website.urls","evennia.web.website.views","Evennia Documentation","Toc"],titleterms:{"2017":138,"2019":[1,48,138],"3rd":138,"9th":138,"case":0,"class":[22,27,33,41,51,96,125,127],"default":[5,6,25,30,43,44,55,60,74,80,137,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171],"final":[49,75],"function":[22,42,51,53,80,89,95,102,114],"goto":51,"import":[26,38,41,95],"new":[3,4,6,58,60,69,86,97,102,114,125,127,133],"public":54,"return":[51,59,105],"static":111,"super":19,"switch":41,"try":41,Adding:[0,4,5,6,9,20,25,31,39,40,41,44,74,86,112,121,133],And:[70,92],For:119,NOT:77,PMs:58,TLS:8,The:[3,10,11,13,14,16,18,19,22,26,29,41,46,47,49,50,51,58,69,77,83,85,93,96,109,116,123,135],USE:77,Use:[26,103],Using:[49,52,84,86,90,93,109,112,127,129,130,140],Will:25,Yes:51,__unloggedin_look_command:43,abort:29,about:[29,43,115,125,128],abus:12,access:43,access_typ:80,account:[2,43,58,64,97,143,144,145,146,147,148,156],activ:[57,133],actual:[33,125],add:[3,4,23,25,60],add_choic:22,addclass:359,addcom:43,adding:127,addit:[9,39,41,44,100],address:25,admin:[43,64,97,135,145,157,173,237,244,254,263,315],administr:7,advanc:[18,29,53,87,110],affect:241,aggress:117,alia:[43,97],alias:112,all:[25,51,67,69],allcom:43,alpha:61,altern:[9,106],amp:276,amp_client:264,amp_serv:277,analyz:93,android:75,ani:[13,55],annot:119,anoth:[38,41,119],ansi:[27,114,126,321],apach:8,api:[1,38,45,53,137],app:[69,133],arbitrari:51,area:[111,123],arg:91,arg_regex:33,argument:[1,51,91],arm:21,arx:9,arxcod:9,ascii:27,ask:[33,51],assign:[19,33],assort:[10,14,31,33,40,51,112,118],async:10,asynchron:10,attach:[106,107],attack:[73,123],attribut:[11,64,97,316],attributehandl:11,audit:[208,209,210,211],aug:[1,48],auto:68,automat:25,avail:[35,59,107],backend:349,ban:[12,43],barter:179,base:[25,109,116],basic:[4,13,14,18,55,71,95,96,123,127,136],batch:[13,14,15,322],batchcod:[13,43],batchcommand:43,batchprocess:[43,158],batchprocessor:322,befor:26,best:91,beta:61,between:[13,51,125],block:[13,29,38],blockquot:38,bodyfunct:223,bold:38,boot:[12,43],bootstrap:[16,17],border:17,bot:146,brainstorm:[45,138],branch:[51,131],bridg:77,brief:[55,69],briefli:88,bug:[38,97],build:[18,19,20,21,22,38,43,49,58,61,85,111,124,159],builder:18,building_menu:[22,180],busi:85,button:[17,20],calendar:62,call:33,callabl:51,callback:[0,46,137],callbackhandl:192,caller:51,can:[11,22,55],capcha:133,card:17,care:103,caveat:[13,14,75,114,125],cboot:43,ccreat:43,cdesc:43,cdestroi:43,cemit:43,central:45,certif:67,chainsol:138,chang:[0,5,6,25,38,58,60,76,97,103,108,128,131,136],channel:[25,34,41,43,58,64],channelhandl:174,charact:[6,24,25,46,58,60,61,64,73,82,89,96,123,133,134],charcreat:43,chardelet:43,chargen:[123,181],chat:138,cheat:42,check:[11,80],checker:26,checkpoint:133,choic:22,choos:23,clean:9,clickabl:114,client:[24,83,88,90,135,137,269],client_opt:74,clock:43,clone:[9,131],cloth:182,cloud9:90,cmdabout:43,cmdaccess:43,cmdaddcom:43,cmdallcom:43,cmdban:43,cmdbatchcod:43,cmdbatchcommand:43,cmdboot:43,cmdcboot:43,cmdcdesc:43,cmdcdestroi:43,cmdcemit:43,cmdchannel:43,cmdchannelcr:43,cmdcharcreat:43,cmdchardelet:43,cmdclock:43,cmdcolortest:43,cmdcopi:43,cmdcpattr:43,cmdcreat:43,cmdcwho:43,cmddelcom:43,cmddesc:43,cmddestroi:43,cmddig:43,cmddrop:43,cmdemit:43,cmdexamin:43,cmdfind:43,cmdforc:43,cmdget:43,cmdgive:43,cmdhandler:150,cmdhelp:43,cmdhome:43,cmdic:43,cmdinventori:43,cmdirc2chan:43,cmdlink:43,cmdlistcmdset:43,cmdlock:43,cmdlook:43,cmdmvattr:43,cmdname:43,cmdnewpassword:43,cmdnick:43,cmdobject:43,cmdooc:43,cmdooclook:43,cmdopen:43,cmdoption:43,cmdpage:43,cmdparser:151,cmdpassword:43,cmdperm:43,cmdpose:43,cmdpy:43,cmdquell:43,cmdquit:43,cmdreload:43,cmdreset:43,cmdrss2chan:43,cmdsai:43,cmdscript:43,cmdserverload:43,cmdservic:43,cmdsession:43,cmdset:[5,43,152],cmdset_account:160,cmdset_charact:161,cmdset_red_button:224,cmdset_sess:162,cmdset_unloggedin:163,cmdsetattribut:43,cmdsetdesc:43,cmdsethandl:153,cmdsethelp:43,cmdsethom:43,cmdsetobjalia:43,cmdshutdown:43,cmdspawn:43,cmdstyle:43,cmdtag:43,cmdteleport:43,cmdtime:43,cmdtunnel:43,cmdtypeclass:43,cmdunban:43,cmdunconnectedconnect:43,cmdunconnectedcr:43,cmdunconnectedhelp:43,cmdunconnectedlook:43,cmdunconnectedquit:43,cmdunlink:43,cmdwall:43,cmdwhisper:43,cmdwho:43,cmdwipe:43,code:[8,13,22,25,26,27,38,41,42,50,59,60,61,73,85,87,108,124,128,131,322],collabor:57,color:[17,25,27,43,81,126],color_markup:183,colour:114,combat:[116,123],comfort:100,comm:[43,164,172,173,174,175,176,177],command:[5,14,22,25,28,29,30,31,32,33,35,41,42,43,44,45,53,58,60,62,68,71,73,81,85,88,91,97,100,116,121,123,127,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,193,322],comment:[44,49],commit:131,commun:[13,34],complet:80,complex:[22,119],compon:[17,45],comput:90,concept:[45,49,116],conclud:[39,123],conclus:[22,41,91,111],condit:[25,119],conf:104,config:[8,53,67,81],configur:[8,23,65,67,71,72,81,98,106,131,133],congratul:61,connect:[35,43,54,71,90,97],connection_wizard:265,contain:[100,323],content:[25,55],continu:36,contrib:[22,37,124,127,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235],contribut:[37,38,53],control:131,convert:91,cooldown:28,coordin:39,copi:[8,43],core:[45,53,56,64],cpattr:43,cprofil:93,creat:[0,2,3,5,6,12,20,21,27,33,36,43,51,53,69,86,89,97,100,111,121,123,125,133,324],createnpc:123,creatur:100,credit:79,crop:27,current:[42,62],custom:[4,5,7,10,22,40,41,51,57,62,80,81,105,113,124,127,135,137],custom_gametim:184,cwho:43,data:[6,11,40,51,105,106],databas:[9,53,68,86,97,109,128],dbref:25,dbserial:325,deal:102,debug:[13,42,103],debugg:106,decor:[10,51],dedent:27,dedic:133,defaultobject:97,defin:[31,33,34,51,80,86,102,131],definit:80,delai:[10,27,29],delcom:43,delimit:25,demo:61,depend:[9,128],deploi:100,deprec:[38,266],desc:[43,51],descer:57,descript:100,design:85,destroi:43,detail:[43,69,133],develop:[45,57,79,100,103,110,124,127],dialogu:46,dice:[58,185],dictionari:51,differ:[56,125],dig:43,diku:56,direct:106,directori:[47,90,104],disabl:103,discuss:79,displai:[24,27,49,62],django:[64,80,110,119,133,135],doc:[7,18,26,38,48],docker:100,document:[37,38,129,363],don:[13,55,100],donat:37,down:[20,110,121],drop:43,dummi:73,dummyrunn:[93,298],dummyrunner_set:299,durat:29,dure:110,dynam:[33,49,51,127],earli:7,echo:74,edit:[22,38,50,123],editnpc:123,editor:50,effect:241,elev:0,email_login:186,emit:43,emul:56,encod:[15,113],encrypt:90,end:41,engin:124,enjoi:8,enter:121,entir:0,entri:[20,68],error:[44,95,102,110],eveditor:[50,326],evennia:[4,5,7,8,9,16,23,25,26,38,41,42,45,47,54,55,56,57,58,67,71,75,76,77,79,90,91,95,96,100,106,109,110,124,126,127,128,131,137,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363],evennia_launch:267,evenniatest:127,event:[0,46,62],eventfunc:194,everi:30,everyth:22,evform:[58,327],evmenu:[25,51,328],evmor:[52,329],evtabl:[25,58,330],examin:[42,43],exampl:[39,42,46,50,51,73,80,83,90,102,108,116,127,137,322],example_batch_cod:225,execut:[42,59],exercis:77,exist:[6,125],exit:[0,6,25,33,44,89],expand:[116,121],explan:22,explor:[26,96],extended_room:187,extern:103,familiar:[56,57],faq:25,faster:127,featur:[38,55,69,135],feel:56,field:64,fieldfil:188,file:[13,14,15,38,43,104,127,131,322],fill:27,find:[39,43,59],firewal:103,first:[0,22,46,57,60,95,124],fix:131,flexibl:38,folder:[9,26,131],forc:43,foreground:110,forget:97,fork:[37,131],form:[17,133,357],format:51,forum:79,framework:79,from:[4,20,25,51,55,60,90,96,100,133,137,138,328],front:136,full:[22,41,69,83],func:41,further:[8,10,136],futur:[21,138],game:[7,26,27,39,45,47,49,54,55,57,58,59,61,62,73,90,100,111,120,123,124,127,128,131],game_index_cli:[268,269,270],gamedir:38,gameplai:122,gametim:[62,331],gap:77,gendersub:189,gener:[17,22,41,43,45,79,123,124,133,165,328],general_context:350,get:[20,43,51,63,67,70,119],get_client_opt:74,get_input:51,get_inputfunc:74,get_valu:74,git:[64,131],github:[38,64],give:[43,70],given:112,global:[53,91,102],glossari:64,gmcp:88,godhood:20,goldenlayout:137,googl:133,grant:58,grapevin:[65,278],griatch:[1,48,138],grid:[24,49],group:119,guest:66,gui:138,guid:9,handl:[12,69,103,110],handler:[53,107,116],haproxi:67,hard:77,have:123,head:38,health_bar:190,hello:95,help:[9,20,26,37,43,68,69,70,166,236,237,238,239],here:[26,55,60,96],hierarchi:58,hint:8,home:43,hook:125,host:90,hous:20,how:[2,33,58,70,71,89,100,113,121,125],html:[3,133],http:[8,67],idea:138,idmapp:[332,333,334,335],imag:[100,103],implement:73,improv:69,index:[54,69,133,139],info:[79,110],inform:[45,90],infrastructur:73,ingame_python:[191,192,193,194,195,196,197,198],ingo:83,inherit:140,inherits_from:27,initi:[6,23,25,116],initial_setup:271,inlin:114,inlinefunc:[114,336],input:[33,51,88],inputfunc:[74,83,88,272],insid:119,instal:[4,7,8,9,23,63,67,71,75,90,100,122,131,133],instanc:[33,86,125],instruct:88,integr:36,interact:[10,13,14,26],interfac:103,internation:76,interpret:106,intro_menu:230,introduct:[9,26,49,51,55,93,95,111,122,133],inventori:[43,82],irc2chan:43,irc:[72,279],issu:24,ital:38,jan:138,johnni:1,join:41,jumbotron:17,just:55,kei:[22,51,109],keyword:46,kill:110,know:[55,103],known:97,kovitiku:48,languag:[51,76],last:25,latest:[100,128],latin:25,launch:[50,51],layout:[16,41,47],learn:[26,55,77],leav:[41,121],legend:24,let:[13,42,69,90],librari:[47,96],licens:78,life:7,lift:12,like:[13,56,123],limit:[13,14,119],line:[21,42,50],link:[38,43,79,94,114],linux:[36,63,110],list:[38,42],list_nod:51,listen:118,literatur:79,live:110,local:[38,90,91],lock:[11,43,80,121,240,241,242],lockdown:90,lockfunc:241,lockhandl:242,log:[9,27,69,95,103],logfil:106,logger:337,login:[66,74],logo:136,longer:46,look:[5,43,56,95,123],lookup:53,mac:[63,110],machin:90,magic:97,mail:[131,199],main:[38,53],make:[20,21,27,57,58,60,67,121,123,127,131],manag:[4,137,147,176,238,245,255,273,317,333],manual:[54,81],map:[49,111],mapbuild:200,mapper:49,mariadb:23,markup:321,mass:82,master:[58,131],match:97,mccp:280,mech:21,mechan:124,memplot:300,menu:[22,27,51,85,249,328],menu_login:201,merg:31,messag:[0,25,83,88],messagepath:83,method:[33,41,81,97],middlewar:351,migrat:[4,64,128],mind:131,mini:127,minimap:111,miscellan:124,mob:231,mod_proxi:8,mod_ssl:8,mod_wsgi:8,mode:[13,14,64,90,105,110],model:[53,86,127,133,148,177,239,246,256,274,318,334],modif:58,modifi:[8,30],modul:[71,73,94,95,109,116],monitor:74,monitorhandl:[84,257],more:[16,29,38,53,57,80,81,128,135],most:26,move:[25,121],msdp:88,msg:[34,81,83],mssp:281,mud:79,multi:57,multidesc:[57,202],multipl:[11,119],multisess:[64,105],mush:[57,123],mutabl:[11,97],mux:[129,241],muxcommand:167,mvattr:43,mxp:282,mysql:23,name:[12,43,88,97,241],naw:283,ndb:11,need:[0,55],nest:22,next:[57,63,71],nice:67,nick:[43,87],node:51,non:[11,25,28,54],nop:24,note:[8,10,14,15,31,33,38,40,51,87,112,118,122,127],npc:[85,117,118,123],number:91,object:[5,6,11,20,25,27,43,59,60,61,64,80,82,89,96,97,105,111,112,119,121,124,232,243,244,245,246,247],objmanipcommand:43,obtain:133,oct:138,octob:138,off:25,offici:79,olc:109,one:39,onli:[38,110],onlin:[38,90,131],oob:88,ooc:43,open:[43,85],oper:[0,10],option:[1,22,43,51,58,67,90,91,103,110],optionclass:338,optionhandl:339,other:[23,33,45,79,90,104],our:[0,22,69,95,96,108,121,133],out:[25,40,58],outgo:83,output:[59,127,209],outputcommand:88,outputfunc:88,outsid:[59,90],overal:73,overload:[81,125,135],overrid:97,overview:[36,47,86,116,136],own:[2,33,40,74,89,90,100,137],page:[3,4,43,69,135,136],parent:[57,86],pars:[25,41,91,95],part:96,parti:79,password:43,patch:37,path:[13,83],paus:[0,29,33],pax:9,pdb:42,perm:43,permiss:[19,58,80,112,122],perpetu:61,persist:[11,28,29,50],person:20,picklefield:340,pictur:133,pip:[4,64],plai:67,plan:[26,61,111],player:57,plugin:137,point:26,polici:129,port:[90,103],portal:[83,92,105,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296],portalsess:83,portalsessionhandl:[83,285],pose:43,posit:1,possibl:51,post:138,postgresql:23,practic:91,prepar:36,prerequisit:75,prevent:25,privileg:4,problem:108,process:[10,110],processor:[13,14,15,322],product:[21,100],profil:[93,297,298,299,300,301,302,303,304],program:[42,55],progress:77,project:[36,106],prompt:[30,51],properti:[2,11,31,33,34,51,64,89,102,105,112,125],protfunc:[109,250],protocol:[40,45,55,88],prototyp:[109,248,249,250,251,252],proxi:[8,90],publicli:131,pudb:42,puppet:64,push:[20,131],put:[67,69,131],puzzl:203,pycharm:106,python:[13,26,55,57,59,71,77,79,94,95,96],quell:[19,43,80,122],queri:[119,125],quick:[36,63],quickstart:20,quiet:91,quirk:97,quit:43,random_string_gener:204,read:[10,26,135,136],real:13,reboot:110,recapcha:133,receiv:[40,88],red_button:226,red_button_script:227,reduc:1,refactor:[1,48],refer:[25,38],regist:90,relat:[45,62],releas:[38,61],relev:90,reli:13,reload:[8,25,43,97,110],remark:123,rememb:38,remind:69,remot:[90,131],remov:[25,112],repeat:[51,74],repo:9,report:38,repositori:[26,37,38,64,131],request:38,requir:63,reset:[43,110,128],reshuffl:20,resourc:79,rest:38,restart:8,retriev:11,roadmap:99,role:58,roleplai:58,roller:58,rom:56,room:[0,6,25,39,49,58,61,82,89,233],rplanguag:205,rpsystem:206,rss2chan:43,rss:[98,286],rule:[31,73,116],run:[4,7,25,33,42,55,75,100,106,127],runner:127,safeti:13,sage:48,sai:43,same:[46,51],save:11,schema:128,score:123,screen:35,screenshot:101,script:[43,64,102,121,195,253,254,255,256,257,258,259,260,261],scripthandl:258,search:[27,31,39,53,86,91,112,119,341],secret:133,secur:[8,67,103,207,208,209,210,211],see:[69,97],select:25,self:91,send:[30,40,88],sent:30,separ:22,sept:[1,48],server:[7,8,23,43,76,90,92,104,105,123,210,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312],serverconf:104,serversess:[83,306],serversessionhandl:83,servic:[43,270],session:[25,43,58,64,83,105,307],sessionhandl:[105,308],set:[4,5,9,31,43,49,51,54,62,65,72,80,81,90,98,103,104,106,123,127,131],setdesc:43,sethelp:43,sethom:43,setpow:123,settings_default:313,settings_mixin:301,setup:[8,9,23,36,90],sever:[39,46,91],share:131,sharedmemorymodel:86,sheet:[42,58],shell:96,shop:85,shortcut:[11,53],show:[51,123],shut:110,shutdown:43,sidebar:38,signal:[107,309],simpl:[3,22,29,42,51,80,93,127],simpledoor:212,singl:11,singleton:53,site:[64,135],sitekei:133,slow_exit:213,soft:108,softcod:[57,108],solut:108,some:[39,41,56],somewher:55,sourc:[38,43,106],space:17,spawn:[43,57,109],spawner:[109,252],special:38,specif:5,spread:37,spuriou:24,sql:23,sqlite3:23,ssh:[88,103,287],ssl:[90,288],standard:[55,62,129],start:[9,58,63,85,100,110],stat:120,statu:[94,110],step:[5,9,20,42,57,60,61,65,71,72,75,98,124,131,133],stop:110,storag:51,store:[6,11,25,51,109],string:[51,80,91,94,328],strip:91,structur:38,studi:0,stuff:[55,123],style:[17,43],sub:22,subclass:89,subject:96,suit:127,summari:[12,53,55],superus:80,support:[24,55,88],suppress_ga:289,surround:42,swap:125,synchron:10,syntax:[26,38,57,110,322],syscommand:168,system:[16,32,33,43,45,61,68,69,73,80,116,123,124,169],tabl:[25,27,38,86],tag:[39,43,112,126,319],talking_npc:214,taskhandl:260,tb_basic:217,tb_equip:218,tb_item:219,tb_magic:220,tb_rang:221,teamciti:36,tech:61,technic:[38,55,226],tel:43,telnet:[24,88,90,290],telnet_oob:291,telnet_ssl:292,templat:[36,51,69,133,328],templatetag:[358,359],tempmsg:34,temporari:51,termux:75,test:[55,59,93,123,127,170,196,211,228,293,303,335,352,360],test_queri:302,test_resourc:342,text2html:343,text:[27,38,51,74,113,114,136],texttag:114,theori:91,thi:[41,69],thing:[38,56,57,119],third:79,throttl:310,through:[37,42,100],ticker:[64,115],tickerhandl:[115,261],tie:58,time:[27,33,43,62,102,108],time_format:27,timer:93,timetrac:304,tip:131,titeuf87:138,to_byt:27,to_str:27,toc:364,togeth:[67,69],tool:[12,27,79],traceback:26,track:131,train:[73,121],translat:76,travi:130,treat:13,tree_select:215,trick:131,troubleshoot:[60,63,75],ttype:294,tunnel:43,turn:[25,97,116],turnbattl:[216,217,218,219,220,221],tutori:[0,5,6,18,21,46,62,69,85,96,116,117,118,119,120,121,122,123,124,127,132,134,136],tutorial_exampl:[222,223,224,225,226,227,228],tutorial_world:[229,230,231,232,233],tweak:[60,96],tweet:[71,120],twist:[64,94],twitter:71,two:96,type:[2,5,6,11,60,89],typeclass:[6,43,45,53,57,64,81,97,119,124,125,140,197,314,315,316,317,318,319],unban:43,under:131,understand:126,ungm:58,uninstal:122,unit:127,unixcommand:234,unlink:43,unloggedin:[43,171],unmonitor:74,unrepeat:74,updat:[6,25,60,125,128,131],upgrad:128,upload:103,upstream:[97,131],url:[3,4,69,133,347,354,361],usag:[1,13,14,50],use:[55,97,115],used:[25,33],useful:[33,79],user:[19,33,56,57,69,103,124,131],userpassword:43,using:[0,42,119,127],util:[17,27,29,33,53,79,106,119,198,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,348,349,350,351,352],valid:[80,311],validatorfunc:345,valu:[51,109,119],variabl:[42,59],vehicl:121,verbatim:38,version:[38,131],versu:10,vhost:8,view:[3,68,69,133,134,135,355,362],virtualenv:64,voic:0,wai:[29,51,77],wall:43,want:[55,100],warn:38,weather:132,web:[3,45,88,90,97,103,124,133,134,135,136,137,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362],webclient:[137,138,295,353,354,355],webclient_ajax:296,webclient_gui:137,webserv:[103,312],websit:[4,135,356,357,358,359,360,361,362],websocket:[8,67],weight:82,what:[11,16,36,41,55,91,100],when:[25,115],where:[5,55,60,63,96],whisper:43,whitepag:45,who:[33,43],wiki:[4,139],wilder:235,willing:55,window:[9,63],wipe:43,wizard:54,word:37,work:[7,33,55,69,77,91,100,121,125,131],workaround:24,world:[18,20,61,95,122],write:[40,127,137],xterm256:[114,126],yield:[29,51],you:[26,55],your:[2,4,19,20,26,33,39,40,60,74,86,89,90,97,100,103,108,128,131,133,137],yourself:[20,60,61],zone:140}}) \ No newline at end of file +Search.setIndex({docnames:["A-voice-operated-elevator-using-events","API-refactoring","Accounts","Add-a-simple-new-web-page","Add-a-wiki-on-your-website","Adding-Command-Tutorial","Adding-Object-Typeclass-Tutorial","Administrative-Docs","Apache-Config","Arxcode-installing-help","Async-Process","Attributes","Banning","Batch-Code-Processor","Batch-Command-Processor","Batch-Processors","Bootstrap-&-Evennia","Bootstrap-Components-and-Utilities","Builder-Docs","Building-Permissions","Building-Quickstart","Building-a-mech-tutorial","Building-menus","Choosing-An-SQL-Server","Client-Support-Grid","Coding-FAQ","Coding-Introduction","Coding-Utils","Command-Cooldown","Command-Duration","Command-Prompt","Command-Sets","Command-System","Commands","Communications","Connection-Screen","Continuous-Integration","Contributing","Contributing-Docs","Coordinates","Custom-Protocols","Customize-channels","Debugging","Default-Command-Help","Default-Exit-Errors","Developer-Central","Dialogues-in-events","Directory-Overview","Docs-refactoring","Dynamic-In-Game-Map","EvEditor","EvMenu","EvMore","Evennia-API","Evennia-Game-Index","Evennia-Introduction","Evennia-for-Diku-Users","Evennia-for-MUSH-Users","Evennia-for-roleplaying-sessions","Execute-Python-Code","First-Steps-Coding","Game-Planning","Gametime-Tutorial","Getting-Started","Glossary","Grapevine","Guest-Logins","HAProxy-Config","Help-System","Help-System-Tutorial","How-To-Get-And-Give-Help","How-to-connect-Evennia-to-Twitter","IRC","Implementing-a-game-rule-system","Inputfuncs","Installing-on-Android","Internationalization","Learn-Python-for-Evennia-The-Hard-Way","Licensing","Links","Locks","Manually-Configuring-Color","Mass-and-weight-for-objects","Messagepath","MonitorHandler","NPC-shop-Tutorial","New-Models","Nicks","OOB","Objects","Online-Setup","Parsing-command-arguments,-theory-and-best-practices","Portal-And-Server","Profiling","Python-3","Python-basic-introduction","Python-basic-tutorial-part-two","Quirks","RSS","Roadmap","Running-Evennia-in-Docker","Screenshot","Scripts","Security","Server-Conf","Sessions","Setting-up-PyCharm","Signals","Soft-Code","Spawner-and-Prototypes","Start-Stop-Reload","Static-In-Game-Map","Tags","Text-Encodings","TextTags","TickerHandler","Turn-based-Combat-System","Tutorial-Aggressive-NPCs","Tutorial-NPCs-listening","Tutorial-Searching-For-Objects","Tutorial-Tweeting-Game-Stats","Tutorial-Vehicles","Tutorial-World-Introduction","Tutorial-for-basic-MUSH-like-game","Tutorials","Typeclasses","Understanding-Color-Tags","Unit-Testing","Updating-Your-Game","Using-MUX-as-a-Standard","Using-Travis","Version-Control","Weather-Tutorial","Web-Character-Generation","Web-Character-View-Tutorial","Web-Features","Web-Tutorial","Webclient","Webclient-brainstorm","Wiki-Index","Zones","api/evennia","api/evennia-api","api/evennia.accounts","api/evennia.accounts.accounts","api/evennia.accounts.admin","api/evennia.accounts.bots","api/evennia.accounts.manager","api/evennia.accounts.models","api/evennia.commands","api/evennia.commands.cmdhandler","api/evennia.commands.cmdparser","api/evennia.commands.cmdset","api/evennia.commands.cmdsethandler","api/evennia.commands.command","api/evennia.commands.default","api/evennia.commands.default.account","api/evennia.commands.default.admin","api/evennia.commands.default.batchprocess","api/evennia.commands.default.building","api/evennia.commands.default.cmdset_account","api/evennia.commands.default.cmdset_character","api/evennia.commands.default.cmdset_session","api/evennia.commands.default.cmdset_unloggedin","api/evennia.commands.default.comms","api/evennia.commands.default.general","api/evennia.commands.default.help","api/evennia.commands.default.muxcommand","api/evennia.commands.default.syscommands","api/evennia.commands.default.system","api/evennia.commands.default.tests","api/evennia.commands.default.unloggedin","api/evennia.comms","api/evennia.comms.admin","api/evennia.comms.channelhandler","api/evennia.comms.comms","api/evennia.comms.managers","api/evennia.comms.models","api/evennia.contrib","api/evennia.contrib.barter","api/evennia.contrib.building_menu","api/evennia.contrib.chargen","api/evennia.contrib.clothing","api/evennia.contrib.color_markups","api/evennia.contrib.custom_gametime","api/evennia.contrib.dice","api/evennia.contrib.email_login","api/evennia.contrib.extended_room","api/evennia.contrib.fieldfill","api/evennia.contrib.gendersub","api/evennia.contrib.health_bar","api/evennia.contrib.ingame_python","api/evennia.contrib.ingame_python.callbackhandler","api/evennia.contrib.ingame_python.commands","api/evennia.contrib.ingame_python.eventfuncs","api/evennia.contrib.ingame_python.scripts","api/evennia.contrib.ingame_python.tests","api/evennia.contrib.ingame_python.typeclasses","api/evennia.contrib.ingame_python.utils","api/evennia.contrib.mail","api/evennia.contrib.mapbuilder","api/evennia.contrib.menu_login","api/evennia.contrib.multidescer","api/evennia.contrib.puzzles","api/evennia.contrib.random_string_generator","api/evennia.contrib.rplanguage","api/evennia.contrib.rpsystem","api/evennia.contrib.security","api/evennia.contrib.security.auditing","api/evennia.contrib.security.auditing.outputs","api/evennia.contrib.security.auditing.server","api/evennia.contrib.security.auditing.tests","api/evennia.contrib.simpledoor","api/evennia.contrib.slow_exit","api/evennia.contrib.talking_npc","api/evennia.contrib.tree_select","api/evennia.contrib.turnbattle","api/evennia.contrib.turnbattle.tb_basic","api/evennia.contrib.turnbattle.tb_equip","api/evennia.contrib.turnbattle.tb_items","api/evennia.contrib.turnbattle.tb_magic","api/evennia.contrib.turnbattle.tb_range","api/evennia.contrib.tutorial_examples","api/evennia.contrib.tutorial_examples.bodyfunctions","api/evennia.contrib.tutorial_examples.cmdset_red_button","api/evennia.contrib.tutorial_examples.example_batch_code","api/evennia.contrib.tutorial_examples.red_button","api/evennia.contrib.tutorial_examples.red_button_scripts","api/evennia.contrib.tutorial_examples.tests","api/evennia.contrib.tutorial_world","api/evennia.contrib.tutorial_world.intro_menu","api/evennia.contrib.tutorial_world.mob","api/evennia.contrib.tutorial_world.objects","api/evennia.contrib.tutorial_world.rooms","api/evennia.contrib.unixcommand","api/evennia.contrib.wilderness","api/evennia.help","api/evennia.help.admin","api/evennia.help.manager","api/evennia.help.models","api/evennia.locks","api/evennia.locks.lockfuncs","api/evennia.locks.lockhandler","api/evennia.objects","api/evennia.objects.admin","api/evennia.objects.manager","api/evennia.objects.models","api/evennia.objects.objects","api/evennia.prototypes","api/evennia.prototypes.menus","api/evennia.prototypes.protfuncs","api/evennia.prototypes.prototypes","api/evennia.prototypes.spawner","api/evennia.scripts","api/evennia.scripts.admin","api/evennia.scripts.manager","api/evennia.scripts.models","api/evennia.scripts.monitorhandler","api/evennia.scripts.scripthandler","api/evennia.scripts.scripts","api/evennia.scripts.taskhandler","api/evennia.scripts.tickerhandler","api/evennia.server","api/evennia.server.admin","api/evennia.server.amp_client","api/evennia.server.connection_wizard","api/evennia.server.deprecations","api/evennia.server.evennia_launcher","api/evennia.server.game_index_client","api/evennia.server.game_index_client.client","api/evennia.server.game_index_client.service","api/evennia.server.initial_setup","api/evennia.server.inputfuncs","api/evennia.server.manager","api/evennia.server.models","api/evennia.server.portal","api/evennia.server.portal.amp","api/evennia.server.portal.amp_server","api/evennia.server.portal.grapevine","api/evennia.server.portal.irc","api/evennia.server.portal.mccp","api/evennia.server.portal.mssp","api/evennia.server.portal.mxp","api/evennia.server.portal.naws","api/evennia.server.portal.portal","api/evennia.server.portal.portalsessionhandler","api/evennia.server.portal.rss","api/evennia.server.portal.ssh","api/evennia.server.portal.ssl","api/evennia.server.portal.suppress_ga","api/evennia.server.portal.telnet","api/evennia.server.portal.telnet_oob","api/evennia.server.portal.telnet_ssl","api/evennia.server.portal.tests","api/evennia.server.portal.ttype","api/evennia.server.portal.webclient","api/evennia.server.portal.webclient_ajax","api/evennia.server.profiling","api/evennia.server.profiling.dummyrunner","api/evennia.server.profiling.dummyrunner_settings","api/evennia.server.profiling.memplot","api/evennia.server.profiling.settings_mixin","api/evennia.server.profiling.test_queries","api/evennia.server.profiling.tests","api/evennia.server.profiling.timetrace","api/evennia.server.server","api/evennia.server.serversession","api/evennia.server.session","api/evennia.server.sessionhandler","api/evennia.server.signals","api/evennia.server.throttle","api/evennia.server.validators","api/evennia.server.webserver","api/evennia.settings_default","api/evennia.typeclasses","api/evennia.typeclasses.admin","api/evennia.typeclasses.attributes","api/evennia.typeclasses.managers","api/evennia.typeclasses.models","api/evennia.typeclasses.tags","api/evennia.utils","api/evennia.utils.ansi","api/evennia.utils.batchprocessors","api/evennia.utils.containers","api/evennia.utils.create","api/evennia.utils.dbserialize","api/evennia.utils.eveditor","api/evennia.utils.evform","api/evennia.utils.evmenu","api/evennia.utils.evmore","api/evennia.utils.evtable","api/evennia.utils.gametime","api/evennia.utils.idmapper","api/evennia.utils.idmapper.manager","api/evennia.utils.idmapper.models","api/evennia.utils.idmapper.tests","api/evennia.utils.inlinefuncs","api/evennia.utils.logger","api/evennia.utils.optionclasses","api/evennia.utils.optionhandler","api/evennia.utils.picklefield","api/evennia.utils.search","api/evennia.utils.test_resources","api/evennia.utils.text2html","api/evennia.utils.utils","api/evennia.utils.validatorfuncs","api/evennia.web","api/evennia.web.urls","api/evennia.web.utils","api/evennia.web.utils.backends","api/evennia.web.utils.general_context","api/evennia.web.utils.middleware","api/evennia.web.utils.tests","api/evennia.web.webclient","api/evennia.web.webclient.urls","api/evennia.web.webclient.views","api/evennia.web.website","api/evennia.web.website.forms","api/evennia.web.website.templatetags","api/evennia.web.website.templatetags.addclass","api/evennia.web.website.tests","api/evennia.web.website.urls","api/evennia.web.website.views","index","toc"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,sphinx:56},filenames:["A-voice-operated-elevator-using-events.md","API-refactoring.md","Accounts.md","Add-a-simple-new-web-page.md","Add-a-wiki-on-your-website.md","Adding-Command-Tutorial.md","Adding-Object-Typeclass-Tutorial.md","Administrative-Docs.md","Apache-Config.md","Arxcode-installing-help.md","Async-Process.md","Attributes.md","Banning.md","Batch-Code-Processor.md","Batch-Command-Processor.md","Batch-Processors.md","Bootstrap-&-Evennia.md","Bootstrap-Components-and-Utilities.md","Builder-Docs.md","Building-Permissions.md","Building-Quickstart.md","Building-a-mech-tutorial.md","Building-menus.md","Choosing-An-SQL-Server.md","Client-Support-Grid.md","Coding-FAQ.md","Coding-Introduction.md","Coding-Utils.md","Command-Cooldown.md","Command-Duration.md","Command-Prompt.md","Command-Sets.md","Command-System.md","Commands.md","Communications.md","Connection-Screen.md","Continuous-Integration.md","Contributing.md","Contributing-Docs.md","Coordinates.md","Custom-Protocols.md","Customize-channels.md","Debugging.md","Default-Command-Help.md","Default-Exit-Errors.md","Developer-Central.md","Dialogues-in-events.md","Directory-Overview.md","Docs-refactoring.md","Dynamic-In-Game-Map.md","EvEditor.md","EvMenu.md","EvMore.md","Evennia-API.md","Evennia-Game-Index.md","Evennia-Introduction.md","Evennia-for-Diku-Users.md","Evennia-for-MUSH-Users.md","Evennia-for-roleplaying-sessions.md","Execute-Python-Code.md","First-Steps-Coding.md","Game-Planning.md","Gametime-Tutorial.md","Getting-Started.md","Glossary.md","Grapevine.md","Guest-Logins.md","HAProxy-Config.md","Help-System.md","Help-System-Tutorial.md","How-To-Get-And-Give-Help.md","How-to-connect-Evennia-to-Twitter.md","IRC.md","Implementing-a-game-rule-system.md","Inputfuncs.md","Installing-on-Android.md","Internationalization.md","Learn-Python-for-Evennia-The-Hard-Way.md","Licensing.md","Links.md","Locks.md","Manually-Configuring-Color.md","Mass-and-weight-for-objects.md","Messagepath.md","MonitorHandler.md","NPC-shop-Tutorial.md","New-Models.md","Nicks.md","OOB.md","Objects.md","Online-Setup.md","Parsing-command-arguments,-theory-and-best-practices.md","Portal-And-Server.md","Profiling.md","Python-3.md","Python-basic-introduction.md","Python-basic-tutorial-part-two.md","Quirks.md","RSS.md","Roadmap.md","Running-Evennia-in-Docker.md","Screenshot.md","Scripts.md","Security.md","Server-Conf.md","Sessions.md","Setting-up-PyCharm.md","Signals.md","Soft-Code.md","Spawner-and-Prototypes.md","Start-Stop-Reload.md","Static-In-Game-Map.md","Tags.md","Text-Encodings.md","TextTags.md","TickerHandler.md","Turn-based-Combat-System.md","Tutorial-Aggressive-NPCs.md","Tutorial-NPCs-listening.md","Tutorial-Searching-For-Objects.md","Tutorial-Tweeting-Game-Stats.md","Tutorial-Vehicles.md","Tutorial-World-Introduction.md","Tutorial-for-basic-MUSH-like-game.md","Tutorials.md","Typeclasses.md","Understanding-Color-Tags.md","Unit-Testing.md","Updating-Your-Game.md","Using-MUX-as-a-Standard.md","Using-Travis.md","Version-Control.md","Weather-Tutorial.md","Web-Character-Generation.md","Web-Character-View-Tutorial.md","Web-Features.md","Web-Tutorial.md","Webclient.md","Webclient-brainstorm.md","Wiki-Index.md","Zones.md","api/evennia.rst","api/evennia-api.rst","api/evennia.accounts.rst","api/evennia.accounts.accounts.rst","api/evennia.accounts.admin.rst","api/evennia.accounts.bots.rst","api/evennia.accounts.manager.rst","api/evennia.accounts.models.rst","api/evennia.commands.rst","api/evennia.commands.cmdhandler.rst","api/evennia.commands.cmdparser.rst","api/evennia.commands.cmdset.rst","api/evennia.commands.cmdsethandler.rst","api/evennia.commands.command.rst","api/evennia.commands.default.rst","api/evennia.commands.default.account.rst","api/evennia.commands.default.admin.rst","api/evennia.commands.default.batchprocess.rst","api/evennia.commands.default.building.rst","api/evennia.commands.default.cmdset_account.rst","api/evennia.commands.default.cmdset_character.rst","api/evennia.commands.default.cmdset_session.rst","api/evennia.commands.default.cmdset_unloggedin.rst","api/evennia.commands.default.comms.rst","api/evennia.commands.default.general.rst","api/evennia.commands.default.help.rst","api/evennia.commands.default.muxcommand.rst","api/evennia.commands.default.syscommands.rst","api/evennia.commands.default.system.rst","api/evennia.commands.default.tests.rst","api/evennia.commands.default.unloggedin.rst","api/evennia.comms.rst","api/evennia.comms.admin.rst","api/evennia.comms.channelhandler.rst","api/evennia.comms.comms.rst","api/evennia.comms.managers.rst","api/evennia.comms.models.rst","api/evennia.contrib.rst","api/evennia.contrib.barter.rst","api/evennia.contrib.building_menu.rst","api/evennia.contrib.chargen.rst","api/evennia.contrib.clothing.rst","api/evennia.contrib.color_markups.rst","api/evennia.contrib.custom_gametime.rst","api/evennia.contrib.dice.rst","api/evennia.contrib.email_login.rst","api/evennia.contrib.extended_room.rst","api/evennia.contrib.fieldfill.rst","api/evennia.contrib.gendersub.rst","api/evennia.contrib.health_bar.rst","api/evennia.contrib.ingame_python.rst","api/evennia.contrib.ingame_python.callbackhandler.rst","api/evennia.contrib.ingame_python.commands.rst","api/evennia.contrib.ingame_python.eventfuncs.rst","api/evennia.contrib.ingame_python.scripts.rst","api/evennia.contrib.ingame_python.tests.rst","api/evennia.contrib.ingame_python.typeclasses.rst","api/evennia.contrib.ingame_python.utils.rst","api/evennia.contrib.mail.rst","api/evennia.contrib.mapbuilder.rst","api/evennia.contrib.menu_login.rst","api/evennia.contrib.multidescer.rst","api/evennia.contrib.puzzles.rst","api/evennia.contrib.random_string_generator.rst","api/evennia.contrib.rplanguage.rst","api/evennia.contrib.rpsystem.rst","api/evennia.contrib.security.rst","api/evennia.contrib.security.auditing.rst","api/evennia.contrib.security.auditing.outputs.rst","api/evennia.contrib.security.auditing.server.rst","api/evennia.contrib.security.auditing.tests.rst","api/evennia.contrib.simpledoor.rst","api/evennia.contrib.slow_exit.rst","api/evennia.contrib.talking_npc.rst","api/evennia.contrib.tree_select.rst","api/evennia.contrib.turnbattle.rst","api/evennia.contrib.turnbattle.tb_basic.rst","api/evennia.contrib.turnbattle.tb_equip.rst","api/evennia.contrib.turnbattle.tb_items.rst","api/evennia.contrib.turnbattle.tb_magic.rst","api/evennia.contrib.turnbattle.tb_range.rst","api/evennia.contrib.tutorial_examples.rst","api/evennia.contrib.tutorial_examples.bodyfunctions.rst","api/evennia.contrib.tutorial_examples.cmdset_red_button.rst","api/evennia.contrib.tutorial_examples.example_batch_code.rst","api/evennia.contrib.tutorial_examples.red_button.rst","api/evennia.contrib.tutorial_examples.red_button_scripts.rst","api/evennia.contrib.tutorial_examples.tests.rst","api/evennia.contrib.tutorial_world.rst","api/evennia.contrib.tutorial_world.intro_menu.rst","api/evennia.contrib.tutorial_world.mob.rst","api/evennia.contrib.tutorial_world.objects.rst","api/evennia.contrib.tutorial_world.rooms.rst","api/evennia.contrib.unixcommand.rst","api/evennia.contrib.wilderness.rst","api/evennia.help.rst","api/evennia.help.admin.rst","api/evennia.help.manager.rst","api/evennia.help.models.rst","api/evennia.locks.rst","api/evennia.locks.lockfuncs.rst","api/evennia.locks.lockhandler.rst","api/evennia.objects.rst","api/evennia.objects.admin.rst","api/evennia.objects.manager.rst","api/evennia.objects.models.rst","api/evennia.objects.objects.rst","api/evennia.prototypes.rst","api/evennia.prototypes.menus.rst","api/evennia.prototypes.protfuncs.rst","api/evennia.prototypes.prototypes.rst","api/evennia.prototypes.spawner.rst","api/evennia.scripts.rst","api/evennia.scripts.admin.rst","api/evennia.scripts.manager.rst","api/evennia.scripts.models.rst","api/evennia.scripts.monitorhandler.rst","api/evennia.scripts.scripthandler.rst","api/evennia.scripts.scripts.rst","api/evennia.scripts.taskhandler.rst","api/evennia.scripts.tickerhandler.rst","api/evennia.server.rst","api/evennia.server.admin.rst","api/evennia.server.amp_client.rst","api/evennia.server.connection_wizard.rst","api/evennia.server.deprecations.rst","api/evennia.server.evennia_launcher.rst","api/evennia.server.game_index_client.rst","api/evennia.server.game_index_client.client.rst","api/evennia.server.game_index_client.service.rst","api/evennia.server.initial_setup.rst","api/evennia.server.inputfuncs.rst","api/evennia.server.manager.rst","api/evennia.server.models.rst","api/evennia.server.portal.rst","api/evennia.server.portal.amp.rst","api/evennia.server.portal.amp_server.rst","api/evennia.server.portal.grapevine.rst","api/evennia.server.portal.irc.rst","api/evennia.server.portal.mccp.rst","api/evennia.server.portal.mssp.rst","api/evennia.server.portal.mxp.rst","api/evennia.server.portal.naws.rst","api/evennia.server.portal.portal.rst","api/evennia.server.portal.portalsessionhandler.rst","api/evennia.server.portal.rss.rst","api/evennia.server.portal.ssh.rst","api/evennia.server.portal.ssl.rst","api/evennia.server.portal.suppress_ga.rst","api/evennia.server.portal.telnet.rst","api/evennia.server.portal.telnet_oob.rst","api/evennia.server.portal.telnet_ssl.rst","api/evennia.server.portal.tests.rst","api/evennia.server.portal.ttype.rst","api/evennia.server.portal.webclient.rst","api/evennia.server.portal.webclient_ajax.rst","api/evennia.server.profiling.rst","api/evennia.server.profiling.dummyrunner.rst","api/evennia.server.profiling.dummyrunner_settings.rst","api/evennia.server.profiling.memplot.rst","api/evennia.server.profiling.settings_mixin.rst","api/evennia.server.profiling.test_queries.rst","api/evennia.server.profiling.tests.rst","api/evennia.server.profiling.timetrace.rst","api/evennia.server.server.rst","api/evennia.server.serversession.rst","api/evennia.server.session.rst","api/evennia.server.sessionhandler.rst","api/evennia.server.signals.rst","api/evennia.server.throttle.rst","api/evennia.server.validators.rst","api/evennia.server.webserver.rst","api/evennia.settings_default.rst","api/evennia.typeclasses.rst","api/evennia.typeclasses.admin.rst","api/evennia.typeclasses.attributes.rst","api/evennia.typeclasses.managers.rst","api/evennia.typeclasses.models.rst","api/evennia.typeclasses.tags.rst","api/evennia.utils.rst","api/evennia.utils.ansi.rst","api/evennia.utils.batchprocessors.rst","api/evennia.utils.containers.rst","api/evennia.utils.create.rst","api/evennia.utils.dbserialize.rst","api/evennia.utils.eveditor.rst","api/evennia.utils.evform.rst","api/evennia.utils.evmenu.rst","api/evennia.utils.evmore.rst","api/evennia.utils.evtable.rst","api/evennia.utils.gametime.rst","api/evennia.utils.idmapper.rst","api/evennia.utils.idmapper.manager.rst","api/evennia.utils.idmapper.models.rst","api/evennia.utils.idmapper.tests.rst","api/evennia.utils.inlinefuncs.rst","api/evennia.utils.logger.rst","api/evennia.utils.optionclasses.rst","api/evennia.utils.optionhandler.rst","api/evennia.utils.picklefield.rst","api/evennia.utils.search.rst","api/evennia.utils.test_resources.rst","api/evennia.utils.text2html.rst","api/evennia.utils.utils.rst","api/evennia.utils.validatorfuncs.rst","api/evennia.web.rst","api/evennia.web.urls.rst","api/evennia.web.utils.rst","api/evennia.web.utils.backends.rst","api/evennia.web.utils.general_context.rst","api/evennia.web.utils.middleware.rst","api/evennia.web.utils.tests.rst","api/evennia.web.webclient.rst","api/evennia.web.webclient.urls.rst","api/evennia.web.webclient.views.rst","api/evennia.web.website.rst","api/evennia.web.website.forms.rst","api/evennia.web.website.templatetags.rst","api/evennia.web.website.templatetags.addclass.rst","api/evennia.web.website.tests.rst","api/evennia.web.website.urls.rst","api/evennia.web.website.views.rst","index.md","toc.md"],objects:{"":{evennia:[141,0,0,"-"]},"evennia.accounts":{accounts:[144,0,0,"-"],bots:[146,0,0,"-"],manager:[147,0,0,"-"],models:[148,0,0,"-"]},"evennia.accounts.accounts":{DefaultAccount:[144,1,1,""],DefaultGuest:[144,1,1,""]},"evennia.accounts.accounts.DefaultAccount":{"delete":[144,3,1,""],DoesNotExist:[144,2,1,""],MultipleObjectsReturned:[144,2,1,""],access:[144,3,1,""],at_access:[144,3,1,""],at_account_creation:[144,3,1,""],at_cmdset_get:[144,3,1,""],at_disconnect:[144,3,1,""],at_failed_login:[144,3,1,""],at_first_login:[144,3,1,""],at_first_save:[144,3,1,""],at_init:[144,3,1,""],at_look:[144,3,1,""],at_msg_receive:[144,3,1,""],at_msg_send:[144,3,1,""],at_password_change:[144,3,1,""],at_post_channel_msg:[144,3,1,""],at_post_disconnect:[144,3,1,""],at_post_login:[144,3,1,""],at_pre_channel_msg:[144,3,1,""],at_pre_login:[144,3,1,""],at_server_reload:[144,3,1,""],at_server_shutdown:[144,3,1,""],authenticate:[144,3,1,""],basetype_setup:[144,3,1,""],channel_msg:[144,3,1,""],character:[144,3,1,""],characters:[144,3,1,""],cmdset:[144,4,1,""],connection_time:[144,3,1,""],create:[144,3,1,""],create_character:[144,3,1,""],disconnect_session_from_account:[144,3,1,""],execute_cmd:[144,3,1,""],get_all_puppets:[144,3,1,""],get_display_name:[144,3,1,""],get_puppet:[144,3,1,""],get_username_validators:[144,3,1,""],idle_time:[144,3,1,""],is_banned:[144,3,1,""],msg:[144,3,1,""],nicks:[144,4,1,""],normalize_username:[144,3,1,""],objects:[144,4,1,""],options:[144,4,1,""],path:[144,4,1,""],puppet:[144,3,1,""],puppet_object:[144,3,1,""],scripts:[144,4,1,""],search:[144,3,1,""],sessions:[144,4,1,""],set_password:[144,3,1,""],typename:[144,4,1,""],unpuppet_all:[144,3,1,""],unpuppet_object:[144,3,1,""],validate_password:[144,3,1,""],validate_username:[144,3,1,""]},"evennia.accounts.accounts.DefaultGuest":{DoesNotExist:[144,2,1,""],MultipleObjectsReturned:[144,2,1,""],at_post_disconnect:[144,3,1,""],at_post_login:[144,3,1,""],at_server_shutdown:[144,3,1,""],authenticate:[144,3,1,""],create:[144,3,1,""],path:[144,4,1,""],typename:[144,4,1,""]},"evennia.accounts.bots":{Bot:[146,1,1,""],BotStarter:[146,1,1,""],GrapevineBot:[146,1,1,""],IRCBot:[146,1,1,""],RSSBot:[146,1,1,""]},"evennia.accounts.bots.Bot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_server_shutdown:[146,3,1,""],basetype_setup:[146,3,1,""],execute_cmd:[146,3,1,""],msg:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.BotStarter":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_repeat:[146,3,1,""],at_script_creation:[146,3,1,""],at_server_reload:[146,3,1,""],at_server_shutdown:[146,3,1,""],at_start:[146,3,1,""],path:[146,4,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.GrapevineBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_msg_send:[146,3,1,""],execute_cmd:[146,3,1,""],factory_path:[146,4,1,""],msg:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.IRCBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],at_msg_send:[146,3,1,""],execute_cmd:[146,3,1,""],factory_path:[146,4,1,""],get_nicklist:[146,3,1,""],msg:[146,3,1,""],path:[146,4,1,""],ping:[146,3,1,""],reconnect:[146,3,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.bots.RSSBot":{DoesNotExist:[146,2,1,""],MultipleObjectsReturned:[146,2,1,""],execute_cmd:[146,3,1,""],path:[146,4,1,""],start:[146,3,1,""],typename:[146,4,1,""]},"evennia.accounts.manager":{AccountManager:[147,1,1,""]},"evennia.accounts.models":{AccountDB:[148,1,1,""]},"evennia.accounts.models.AccountDB":{DoesNotExist:[148,2,1,""],MultipleObjectsReturned:[148,2,1,""],account_subscription_set:[148,4,1,""],cmdset_storage:[148,3,1,""],db_attributes:[148,4,1,""],db_cmdset_storage:[148,4,1,""],db_is_bot:[148,4,1,""],db_is_connected:[148,4,1,""],db_tags:[148,4,1,""],get_next_by_date_joined:[148,3,1,""],get_next_by_db_date_created:[148,3,1,""],get_previous_by_date_joined:[148,3,1,""],get_previous_by_db_date_created:[148,3,1,""],groups:[148,4,1,""],hide_from_accounts_set:[148,4,1,""],id:[148,4,1,""],is_bot:[148,3,1,""],is_connected:[148,3,1,""],key:[148,3,1,""],logentry_set:[148,4,1,""],name:[148,3,1,""],objectdb_set:[148,4,1,""],objects:[148,4,1,""],path:[148,4,1,""],receiver_account_set:[148,4,1,""],scriptdb_set:[148,4,1,""],sender_account_set:[148,4,1,""],typename:[148,4,1,""],uid:[148,3,1,""],user_permissions:[148,4,1,""]},"evennia.commands":{"default":[155,0,0,"-"],cmdhandler:[150,0,0,"-"],cmdparser:[151,0,0,"-"],cmdset:[152,0,0,"-"],cmdsethandler:[153,0,0,"-"],command:[154,0,0,"-"]},"evennia.commands.cmdhandler":{InterruptCommand:[150,2,1,""],cmdhandler:[150,5,1,""]},"evennia.commands.cmdparser":{build_matches:[151,5,1,""],cmdparser:[151,5,1,""],create_match:[151,5,1,""],try_num_differentiators:[151,5,1,""]},"evennia.commands.cmdset":{CmdSet:[152,1,1,""]},"evennia.commands.cmdset.CmdSet":{__init__:[152,3,1,""],add:[152,3,1,""],at_cmdset_creation:[152,3,1,""],count:[152,3,1,""],duplicates:[152,4,1,""],errmessage:[152,4,1,""],get:[152,3,1,""],get_all_cmd_keys_and_aliases:[152,3,1,""],get_system_cmds:[152,3,1,""],key:[152,4,1,""],key_mergetypes:[152,4,1,""],make_unique:[152,3,1,""],mergetype:[152,4,1,""],no_channels:[152,4,1,""],no_exits:[152,4,1,""],no_objs:[152,4,1,""],path:[152,4,1,""],permanent:[152,4,1,""],priority:[152,4,1,""],remove:[152,3,1,""],to_duplicate:[152,4,1,""]},"evennia.commands.cmdsethandler":{CmdSetHandler:[153,1,1,""],import_cmdset:[153,5,1,""]},"evennia.commands.cmdsethandler.CmdSetHandler":{"delete":[153,3,1,""],__init__:[153,3,1,""],add:[153,3,1,""],add_default:[153,3,1,""],all:[153,3,1,""],clear:[153,3,1,""],delete_default:[153,3,1,""],get:[153,3,1,""],has:[153,3,1,""],has_cmdset:[153,3,1,""],remove:[153,3,1,""],remove_default:[153,3,1,""],reset:[153,3,1,""],update:[153,3,1,""]},"evennia.commands.command":{Command:[154,1,1,""],CommandMeta:[154,1,1,""],InterruptCommand:[154,2,1,""]},"evennia.commands.command.Command":{__init__:[154,3,1,""],access:[154,3,1,""],aliases:[154,4,1,""],arg_regex:[154,4,1,""],at_post_cmd:[154,3,1,""],at_pre_cmd:[154,3,1,""],auto_help:[154,4,1,""],client_width:[154,3,1,""],execute_cmd:[154,3,1,""],func:[154,3,1,""],get_command_info:[154,3,1,""],get_extra_info:[154,3,1,""],get_help:[154,3,1,""],help_category:[154,4,1,""],is_exit:[154,4,1,""],key:[154,4,1,""],lock_storage:[154,4,1,""],lockhandler:[154,4,1,""],locks:[154,4,1,""],match:[154,3,1,""],msg:[154,3,1,""],msg_all_sessions:[154,4,1,""],parse:[154,3,1,""],save_for_next:[154,4,1,""],search_index_entry:[154,4,1,""],set_aliases:[154,3,1,""],set_key:[154,3,1,""],styled_footer:[154,3,1,""],styled_header:[154,3,1,""],styled_separator:[154,3,1,""],styled_table:[154,3,1,""]},"evennia.commands.command.CommandMeta":{__init__:[154,3,1,""]},"evennia.commands.default":{account:[156,0,0,"-"],admin:[157,0,0,"-"],batchprocess:[158,0,0,"-"],building:[159,0,0,"-"],cmdset_account:[160,0,0,"-"],cmdset_character:[161,0,0,"-"],cmdset_session:[162,0,0,"-"],cmdset_unloggedin:[163,0,0,"-"],comms:[164,0,0,"-"],general:[165,0,0,"-"],help:[166,0,0,"-"],muxcommand:[167,0,0,"-"],syscommands:[168,0,0,"-"],system:[169,0,0,"-"],unloggedin:[171,0,0,"-"]},"evennia.commands.default.account":{CmdCharCreate:[156,1,1,""],CmdCharDelete:[156,1,1,""],CmdColorTest:[156,1,1,""],CmdIC:[156,1,1,""],CmdOOC:[156,1,1,""],CmdOOCLook:[156,1,1,""],CmdOption:[156,1,1,""],CmdPassword:[156,1,1,""],CmdQuell:[156,1,1,""],CmdQuit:[156,1,1,""],CmdSessions:[156,1,1,""],CmdStyle:[156,1,1,""],CmdWho:[156,1,1,""]},"evennia.commands.default.account.CmdCharCreate":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdCharDelete":{aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdColorTest":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],slice_bright_bg:[156,4,1,""],slice_bright_fg:[156,4,1,""],slice_dark_bg:[156,4,1,""],slice_dark_fg:[156,4,1,""],table_format:[156,3,1,""]},"evennia.commands.default.account.CmdIC":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOOC":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOOCLook":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdOption":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdPassword":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdQuell":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdQuit":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdSessions":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.account.CmdStyle":{aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],list_styles:[156,3,1,""],lock_storage:[156,4,1,""],search_index_entry:[156,4,1,""],set:[156,3,1,""],switch_options:[156,4,1,""]},"evennia.commands.default.account.CmdWho":{account_caller:[156,4,1,""],aliases:[156,4,1,""],func:[156,3,1,""],help_category:[156,4,1,""],key:[156,4,1,""],lock_storage:[156,4,1,""],locks:[156,4,1,""],search_index_entry:[156,4,1,""]},"evennia.commands.default.admin":{CmdBan:[157,1,1,""],CmdBoot:[157,1,1,""],CmdEmit:[157,1,1,""],CmdForce:[157,1,1,""],CmdNewPassword:[157,1,1,""],CmdPerm:[157,1,1,""],CmdUnban:[157,1,1,""],CmdWall:[157,1,1,""]},"evennia.commands.default.admin.CmdBan":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdBoot":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdEmit":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdForce":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],perm_used:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdNewPassword":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdPerm":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""],switch_options:[157,4,1,""]},"evennia.commands.default.admin.CmdUnban":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.admin.CmdWall":{aliases:[157,4,1,""],func:[157,3,1,""],help_category:[157,4,1,""],key:[157,4,1,""],lock_storage:[157,4,1,""],locks:[157,4,1,""],search_index_entry:[157,4,1,""]},"evennia.commands.default.batchprocess":{CmdBatchCode:[158,1,1,""],CmdBatchCommands:[158,1,1,""]},"evennia.commands.default.batchprocess.CmdBatchCode":{aliases:[158,4,1,""],func:[158,3,1,""],help_category:[158,4,1,""],key:[158,4,1,""],lock_storage:[158,4,1,""],locks:[158,4,1,""],search_index_entry:[158,4,1,""],switch_options:[158,4,1,""]},"evennia.commands.default.batchprocess.CmdBatchCommands":{aliases:[158,4,1,""],func:[158,3,1,""],help_category:[158,4,1,""],key:[158,4,1,""],lock_storage:[158,4,1,""],locks:[158,4,1,""],search_index_entry:[158,4,1,""],switch_options:[158,4,1,""]},"evennia.commands.default.building":{CmdCopy:[159,1,1,""],CmdCpAttr:[159,1,1,""],CmdCreate:[159,1,1,""],CmdDesc:[159,1,1,""],CmdDestroy:[159,1,1,""],CmdDig:[159,1,1,""],CmdExamine:[159,1,1,""],CmdFind:[159,1,1,""],CmdLink:[159,1,1,""],CmdListCmdSets:[159,1,1,""],CmdLock:[159,1,1,""],CmdMvAttr:[159,1,1,""],CmdName:[159,1,1,""],CmdOpen:[159,1,1,""],CmdScript:[159,1,1,""],CmdSetAttribute:[159,1,1,""],CmdSetHome:[159,1,1,""],CmdSetObjAlias:[159,1,1,""],CmdSpawn:[159,1,1,""],CmdTag:[159,1,1,""],CmdTeleport:[159,1,1,""],CmdTunnel:[159,1,1,""],CmdTypeclass:[159,1,1,""],CmdUnLink:[159,1,1,""],CmdWipe:[159,1,1,""],ObjManipCommand:[159,1,1,""]},"evennia.commands.default.building.CmdCopy":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdCpAttr":{aliases:[159,4,1,""],check_from_attr:[159,3,1,""],check_has_attr:[159,3,1,""],check_to_attr:[159,3,1,""],func:[159,3,1,""],get_attr:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdCreate":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_obj_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDesc":{aliases:[159,4,1,""],edit_handler:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDestroy":{aliases:[159,4,1,""],confirm:[159,4,1,""],default_confirm:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdDig":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_room_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdExamine":{account_mode:[159,4,1,""],aliases:[159,4,1,""],arg_regex:[159,4,1,""],detail_color:[159,4,1,""],format_attributes:[159,3,1,""],format_output:[159,3,1,""],func:[159,3,1,""],header_color:[159,4,1,""],help_category:[159,4,1,""],key:[159,4,1,""],list_attribute:[159,3,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],quell_color:[159,4,1,""],search_index_entry:[159,4,1,""],separator:[159,4,1,""]},"evennia.commands.default.building.CmdFind":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdLink":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdListCmdSets":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdLock":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdMvAttr":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdName":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdOpen":{aliases:[159,4,1,""],create_exit:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],new_obj_lockstring:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdScript":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdSetAttribute":{aliases:[159,4,1,""],check_attr:[159,3,1,""],check_obj:[159,3,1,""],do_nested_lookup:[159,3,1,""],edit_handler:[159,3,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],nested_re:[159,4,1,""],not_found:[159,4,1,""],rm_attr:[159,3,1,""],search_for_obj:[159,3,1,""],search_index_entry:[159,4,1,""],set_attr:[159,3,1,""],split_nested_attr:[159,3,1,""],view_attr:[159,3,1,""]},"evennia.commands.default.building.CmdSetHome":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdSetObjAlias":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdSpawn":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTag":{aliases:[159,4,1,""],arg_regex:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],options:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdTeleport":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],rhs_split:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTunnel":{aliases:[159,4,1,""],directions:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdTypeclass":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""],switch_options:[159,4,1,""]},"evennia.commands.default.building.CmdUnLink":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],help_key:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.CmdWipe":{aliases:[159,4,1,""],func:[159,3,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],locks:[159,4,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.building.ObjManipCommand":{aliases:[159,4,1,""],help_category:[159,4,1,""],key:[159,4,1,""],lock_storage:[159,4,1,""],parse:[159,3,1,""],search_index_entry:[159,4,1,""]},"evennia.commands.default.cmdset_account":{AccountCmdSet:[160,1,1,""]},"evennia.commands.default.cmdset_account.AccountCmdSet":{at_cmdset_creation:[160,3,1,""],key:[160,4,1,""],path:[160,4,1,""],priority:[160,4,1,""]},"evennia.commands.default.cmdset_character":{CharacterCmdSet:[161,1,1,""]},"evennia.commands.default.cmdset_character.CharacterCmdSet":{at_cmdset_creation:[161,3,1,""],key:[161,4,1,""],path:[161,4,1,""],priority:[161,4,1,""]},"evennia.commands.default.cmdset_session":{SessionCmdSet:[162,1,1,""]},"evennia.commands.default.cmdset_session.SessionCmdSet":{at_cmdset_creation:[162,3,1,""],key:[162,4,1,""],path:[162,4,1,""],priority:[162,4,1,""]},"evennia.commands.default.cmdset_unloggedin":{UnloggedinCmdSet:[163,1,1,""]},"evennia.commands.default.cmdset_unloggedin.UnloggedinCmdSet":{at_cmdset_creation:[163,3,1,""],key:[163,4,1,""],path:[163,4,1,""],priority:[163,4,1,""]},"evennia.commands.default.comms":{CmdAddCom:[164,1,1,""],CmdAllCom:[164,1,1,""],CmdCBoot:[164,1,1,""],CmdCWho:[164,1,1,""],CmdCdesc:[164,1,1,""],CmdCdestroy:[164,1,1,""],CmdChannel:[164,1,1,""],CmdChannelCreate:[164,1,1,""],CmdClock:[164,1,1,""],CmdDelCom:[164,1,1,""],CmdGrapevine2Chan:[164,1,1,""],CmdIRC2Chan:[164,1,1,""],CmdIRCStatus:[164,1,1,""],CmdPage:[164,1,1,""],CmdRSS2Chan:[164,1,1,""]},"evennia.commands.default.comms.CmdAddCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdAllCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCBoot":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdCWho":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCdesc":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdCdestroy":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdChannel":{account_caller:[164,4,1,""],add_alias:[164,3,1,""],aliases:[164,4,1,""],ban_user:[164,3,1,""],boot_user:[164,3,1,""],channel_list_bans:[164,3,1,""],channel_list_who:[164,3,1,""],create_channel:[164,3,1,""],destroy_channel:[164,3,1,""],display_all_channels:[164,3,1,""],display_subbed_channels:[164,3,1,""],func:[164,3,1,""],get_channel_aliases:[164,3,1,""],get_channel_history:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],list_channels:[164,3,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],msg_channel:[164,3,1,""],mute_channel:[164,3,1,""],remove_alias:[164,3,1,""],search_channel:[164,3,1,""],search_index_entry:[164,4,1,""],set_desc:[164,3,1,""],set_lock:[164,3,1,""],sub_to_channel:[164,3,1,""],switch_options:[164,4,1,""],unban_user:[164,3,1,""],unmute_channel:[164,3,1,""],unset_lock:[164,3,1,""],unsub_from_channel:[164,3,1,""]},"evennia.commands.default.comms.CmdChannelCreate":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdClock":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdDelCom":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdGrapevine2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdIRC2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdIRCStatus":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""]},"evennia.commands.default.comms.CmdPage":{account_caller:[164,4,1,""],aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.comms.CmdRSS2Chan":{aliases:[164,4,1,""],func:[164,3,1,""],help_category:[164,4,1,""],key:[164,4,1,""],lock_storage:[164,4,1,""],locks:[164,4,1,""],search_index_entry:[164,4,1,""],switch_options:[164,4,1,""]},"evennia.commands.default.general":{CmdAccess:[165,1,1,""],CmdDrop:[165,1,1,""],CmdGet:[165,1,1,""],CmdGive:[165,1,1,""],CmdHome:[165,1,1,""],CmdInventory:[165,1,1,""],CmdLook:[165,1,1,""],CmdNick:[165,1,1,""],CmdPose:[165,1,1,""],CmdSay:[165,1,1,""],CmdSetDesc:[165,1,1,""],CmdWhisper:[165,1,1,""]},"evennia.commands.default.general.CmdAccess":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdDrop":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdGet":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdGive":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],rhs_split:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdHome":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdInventory":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdLook":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdNick":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],parse:[165,3,1,""],search_index_entry:[165,4,1,""],switch_options:[165,4,1,""]},"evennia.commands.default.general.CmdPose":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],parse:[165,3,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdSay":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdSetDesc":{aliases:[165,4,1,""],arg_regex:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.general.CmdWhisper":{aliases:[165,4,1,""],func:[165,3,1,""],help_category:[165,4,1,""],key:[165,4,1,""],lock_storage:[165,4,1,""],locks:[165,4,1,""],search_index_entry:[165,4,1,""]},"evennia.commands.default.help":{CmdHelp:[166,1,1,""],CmdSetHelp:[166,1,1,""]},"evennia.commands.default.help.CmdHelp":{aliases:[166,4,1,""],arg_regex:[166,4,1,""],check_show_help:[166,3,1,""],format_help_entry:[166,3,1,""],format_help_index:[166,3,1,""],func:[166,3,1,""],help_category:[166,4,1,""],help_more:[166,4,1,""],index_category_clr:[166,4,1,""],index_topic_clr:[166,4,1,""],index_type_separator_clr:[166,4,1,""],key:[166,4,1,""],lock_storage:[166,4,1,""],locks:[166,4,1,""],msg_help:[166,3,1,""],parse:[166,3,1,""],return_cmdset:[166,4,1,""],search_index_entry:[166,4,1,""],should_list_cmd:[166,3,1,""],subtopic_separator_char:[166,4,1,""],suggestion_cutoff:[166,4,1,""],suggestion_maxnum:[166,4,1,""]},"evennia.commands.default.help.CmdSetHelp":{aliases:[166,4,1,""],func:[166,3,1,""],help_category:[166,4,1,""],key:[166,4,1,""],lock_storage:[166,4,1,""],locks:[166,4,1,""],search_index_entry:[166,4,1,""],switch_options:[166,4,1,""]},"evennia.commands.default.muxcommand":{MuxAccountCommand:[167,1,1,""],MuxCommand:[167,1,1,""]},"evennia.commands.default.muxcommand.MuxAccountCommand":{account_caller:[167,4,1,""],aliases:[167,4,1,""],help_category:[167,4,1,""],key:[167,4,1,""],lock_storage:[167,4,1,""],search_index_entry:[167,4,1,""]},"evennia.commands.default.muxcommand.MuxCommand":{aliases:[167,4,1,""],at_post_cmd:[167,3,1,""],at_pre_cmd:[167,3,1,""],func:[167,3,1,""],get_command_info:[167,3,1,""],has_perm:[167,3,1,""],help_category:[167,4,1,""],key:[167,4,1,""],lock_storage:[167,4,1,""],parse:[167,3,1,""],search_index_entry:[167,4,1,""]},"evennia.commands.default.syscommands":{SystemMultimatch:[168,1,1,""],SystemNoInput:[168,1,1,""],SystemNoMatch:[168,1,1,""]},"evennia.commands.default.syscommands.SystemMultimatch":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.syscommands.SystemNoInput":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.syscommands.SystemNoMatch":{aliases:[168,4,1,""],func:[168,3,1,""],help_category:[168,4,1,""],key:[168,4,1,""],lock_storage:[168,4,1,""],locks:[168,4,1,""],search_index_entry:[168,4,1,""]},"evennia.commands.default.system":{CmdAbout:[169,1,1,""],CmdObjects:[169,1,1,""],CmdPy:[169,1,1,""],CmdReload:[169,1,1,""],CmdReset:[169,1,1,""],CmdScripts:[169,1,1,""],CmdServerLoad:[169,1,1,""],CmdService:[169,1,1,""],CmdShutdown:[169,1,1,""],CmdTime:[169,1,1,""]},"evennia.commands.default.system.CmdAbout":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdObjects":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdPy":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdReload":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdReset":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdScripts":{aliases:[169,4,1,""],excluded_typeclass_paths:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_mapping:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdServerLoad":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdService":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""],switch_options:[169,4,1,""]},"evennia.commands.default.system.CmdShutdown":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.system.CmdTime":{aliases:[169,4,1,""],func:[169,3,1,""],help_category:[169,4,1,""],key:[169,4,1,""],lock_storage:[169,4,1,""],locks:[169,4,1,""],search_index_entry:[169,4,1,""]},"evennia.commands.default.tests":{CmdInterrupt:[170,1,1,""],CommandTest:[170,1,1,""],TestAccount:[170,1,1,""],TestAdmin:[170,1,1,""],TestBatchProcess:[170,1,1,""],TestBuilding:[170,1,1,""],TestComms:[170,1,1,""],TestCommsChannel:[170,1,1,""],TestGeneral:[170,1,1,""],TestHelp:[170,1,1,""],TestInterruptCommand:[170,1,1,""],TestSystem:[170,1,1,""],TestSystemCommands:[170,1,1,""],TestUnconnectedCommand:[170,1,1,""]},"evennia.commands.default.tests.CmdInterrupt":{aliases:[170,4,1,""],func:[170,3,1,""],help_category:[170,4,1,""],key:[170,4,1,""],lock_storage:[170,4,1,""],parse:[170,3,1,""],search_index_entry:[170,4,1,""]},"evennia.commands.default.tests.CommandTest":{call:[170,3,1,""]},"evennia.commands.default.tests.TestAccount":{test_char_create:[170,3,1,""],test_char_delete:[170,3,1,""],test_color_test:[170,3,1,""],test_ic:[170,3,1,""],test_ic__nonaccess:[170,3,1,""],test_ic__other_object:[170,3,1,""],test_ooc:[170,3,1,""],test_ooc_look:[170,3,1,""],test_option:[170,3,1,""],test_password:[170,3,1,""],test_quell:[170,3,1,""],test_quit:[170,3,1,""],test_sessions:[170,3,1,""],test_who:[170,3,1,""]},"evennia.commands.default.tests.TestAdmin":{test_ban:[170,3,1,""],test_emit:[170,3,1,""],test_force:[170,3,1,""],test_perm:[170,3,1,""],test_wall:[170,3,1,""]},"evennia.commands.default.tests.TestBatchProcess":{test_batch_commands:[170,3,1,""]},"evennia.commands.default.tests.TestBuilding":{test_attribute_commands:[170,3,1,""],test_copy:[170,3,1,""],test_create:[170,3,1,""],test_desc:[170,3,1,""],test_desc_default_to_room:[170,3,1,""],test_destroy:[170,3,1,""],test_destroy_sequence:[170,3,1,""],test_dig:[170,3,1,""],test_do_nested_lookup:[170,3,1,""],test_empty_desc:[170,3,1,""],test_examine:[170,3,1,""],test_exit_commands:[170,3,1,""],test_find:[170,3,1,""],test_list_cmdsets:[170,3,1,""],test_lock:[170,3,1,""],test_name:[170,3,1,""],test_nested_attribute_commands:[170,3,1,""],test_script:[170,3,1,""],test_set_home:[170,3,1,""],test_set_obj_alias:[170,3,1,""],test_spawn:[170,3,1,""],test_split_nested_attr:[170,3,1,""],test_tag:[170,3,1,""],test_teleport:[170,3,1,""],test_tunnel:[170,3,1,""],test_tunnel_exit_typeclass:[170,3,1,""],test_typeclass:[170,3,1,""]},"evennia.commands.default.tests.TestComms":{setUp:[170,3,1,""],test_all_com:[170,3,1,""],test_cboot:[170,3,1,""],test_cdesc:[170,3,1,""],test_cdestroy:[170,3,1,""],test_clock:[170,3,1,""],test_cwho:[170,3,1,""],test_page:[170,3,1,""],test_toggle_com:[170,3,1,""]},"evennia.commands.default.tests.TestCommsChannel":{setUp:[170,3,1,""],tearDown:[170,3,1,""],test_channel__alias__unalias:[170,3,1,""],test_channel__all:[170,3,1,""],test_channel__ban__unban:[170,3,1,""],test_channel__boot:[170,3,1,""],test_channel__create:[170,3,1,""],test_channel__desc:[170,3,1,""],test_channel__destroy:[170,3,1,""],test_channel__history:[170,3,1,""],test_channel__list:[170,3,1,""],test_channel__lock:[170,3,1,""],test_channel__msg:[170,3,1,""],test_channel__mute:[170,3,1,""],test_channel__noarg:[170,3,1,""],test_channel__sub:[170,3,1,""],test_channel__unlock:[170,3,1,""],test_channel__unmute:[170,3,1,""],test_channel__unsub:[170,3,1,""],test_channel__who:[170,3,1,""]},"evennia.commands.default.tests.TestGeneral":{test_access:[170,3,1,""],test_get_and_drop:[170,3,1,""],test_give:[170,3,1,""],test_home:[170,3,1,""],test_inventory:[170,3,1,""],test_look:[170,3,1,""],test_mux_command:[170,3,1,""],test_nick:[170,3,1,""],test_pose:[170,3,1,""],test_say:[170,3,1,""],test_whisper:[170,3,1,""]},"evennia.commands.default.tests.TestHelp":{maxDiff:[170,4,1,""],setUp:[170,3,1,""],tearDown:[170,3,1,""],test_help:[170,3,1,""],test_set_help:[170,3,1,""],test_subtopic_fetch:[170,4,1,""],test_subtopic_fetch_00_test:[170,3,1,""],test_subtopic_fetch_01_test_creating_extra_stuff:[170,3,1,""],test_subtopic_fetch_02_test_creating:[170,3,1,""],test_subtopic_fetch_03_test_extra:[170,3,1,""],test_subtopic_fetch_04_test_extra_subsubtopic:[170,3,1,""],test_subtopic_fetch_05_test_creating_extra_subsub:[170,3,1,""],test_subtopic_fetch_06_test_Something_else:[170,3,1,""],test_subtopic_fetch_07_test_More:[170,3,1,""],test_subtopic_fetch_08_test_More_Second_more:[170,3,1,""],test_subtopic_fetch_09_test_More_more:[170,3,1,""],test_subtopic_fetch_10_test_more_second_more_again:[170,3,1,""],test_subtopic_fetch_11_test_more_second_third:[170,3,1,""]},"evennia.commands.default.tests.TestInterruptCommand":{test_interrupt_command:[170,3,1,""]},"evennia.commands.default.tests.TestSystem":{test_about:[170,3,1,""],test_objects:[170,3,1,""],test_py:[170,3,1,""],test_scripts:[170,3,1,""],test_server_load:[170,3,1,""]},"evennia.commands.default.tests.TestSystemCommands":{test_multimatch:[170,3,1,""],test_simple_defaults:[170,3,1,""]},"evennia.commands.default.tests.TestUnconnectedCommand":{test_info_command:[170,3,1,""]},"evennia.commands.default.unloggedin":{CmdUnconnectedConnect:[171,1,1,""],CmdUnconnectedCreate:[171,1,1,""],CmdUnconnectedHelp:[171,1,1,""],CmdUnconnectedLook:[171,1,1,""],CmdUnconnectedQuit:[171,1,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedConnect":{aliases:[171,4,1,""],arg_regex:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedCreate":{aliases:[171,4,1,""],arg_regex:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedHelp":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedLook":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.commands.default.unloggedin.CmdUnconnectedQuit":{aliases:[171,4,1,""],func:[171,3,1,""],help_category:[171,4,1,""],key:[171,4,1,""],lock_storage:[171,4,1,""],locks:[171,4,1,""],search_index_entry:[171,4,1,""]},"evennia.comms":{comms:[175,0,0,"-"],managers:[176,0,0,"-"],models:[177,0,0,"-"]},"evennia.comms.comms":{DefaultChannel:[175,1,1,""]},"evennia.comms.comms.DefaultChannel":{"delete":[175,3,1,""],DoesNotExist:[175,2,1,""],MultipleObjectsReturned:[175,2,1,""],access:[175,3,1,""],add_user_channel_alias:[175,3,1,""],at_channel_creation:[175,3,1,""],at_first_save:[175,3,1,""],at_init:[175,3,1,""],at_post_msg:[175,3,1,""],at_pre_msg:[175,3,1,""],ban:[175,3,1,""],banlist:[175,3,1,""],basetype_setup:[175,3,1,""],channel_msg_nick_pattern:[175,4,1,""],channel_msg_nick_replacement:[175,4,1,""],channel_prefix:[175,3,1,""],channel_prefix_string:[175,4,1,""],connect:[175,3,1,""],create:[175,3,1,""],disconnect:[175,3,1,""],distribute_message:[175,3,1,""],format_external:[175,3,1,""],format_message:[175,3,1,""],format_senders:[175,3,1,""],get_absolute_url:[175,3,1,""],get_log_filename:[175,3,1,""],has_connection:[175,3,1,""],log_file:[175,4,1,""],message_transform:[175,3,1,""],msg:[175,3,1,""],mute:[175,3,1,""],mutelist:[175,3,1,""],objects:[175,4,1,""],path:[175,4,1,""],pose_transform:[175,3,1,""],post_join_channel:[175,3,1,""],post_leave_channel:[175,3,1,""],post_send_message:[175,3,1,""],pre_join_channel:[175,3,1,""],pre_leave_channel:[175,3,1,""],pre_send_message:[175,3,1,""],remove_user_channel_alias:[175,3,1,""],send_to_online_only:[175,4,1,""],set_log_filename:[175,3,1,""],typename:[175,4,1,""],unban:[175,3,1,""],unmute:[175,3,1,""],web_get_admin_url:[175,3,1,""],web_get_create_url:[175,3,1,""],web_get_delete_url:[175,3,1,""],web_get_detail_url:[175,3,1,""],web_get_update_url:[175,3,1,""],wholist:[175,3,1,""]},"evennia.comms.managers":{ChannelDBManager:[176,1,1,""],ChannelManager:[176,1,1,""],CommError:[176,2,1,""],MsgManager:[176,1,1,""],identify_object:[176,5,1,""],to_object:[176,5,1,""]},"evennia.comms.managers.ChannelDBManager":{channel_search:[176,3,1,""],get_all_channels:[176,3,1,""],get_channel:[176,3,1,""],get_subscriptions:[176,3,1,""],search_channel:[176,3,1,""]},"evennia.comms.managers.MsgManager":{get_message_by_id:[176,3,1,""],get_messages_by_receiver:[176,3,1,""],get_messages_by_sender:[176,3,1,""],identify_object:[176,3,1,""],message_search:[176,3,1,""],search_message:[176,3,1,""]},"evennia.comms.models":{ChannelDB:[177,1,1,""],Msg:[177,1,1,""],TempMsg:[177,1,1,""]},"evennia.comms.models.ChannelDB":{DoesNotExist:[177,2,1,""],MultipleObjectsReturned:[177,2,1,""],db_account_subscriptions:[177,4,1,""],db_attributes:[177,4,1,""],db_object_subscriptions:[177,4,1,""],db_tags:[177,4,1,""],get_next_by_db_date_created:[177,3,1,""],get_previous_by_db_date_created:[177,3,1,""],id:[177,4,1,""],objects:[177,4,1,""],path:[177,4,1,""],subscriptions:[177,4,1,""],typename:[177,4,1,""]},"evennia.comms.models.Msg":{DoesNotExist:[177,2,1,""],MultipleObjectsReturned:[177,2,1,""],access:[177,3,1,""],date_created:[177,3,1,""],db_date_created:[177,4,1,""],db_header:[177,4,1,""],db_hide_from_accounts:[177,4,1,""],db_hide_from_objects:[177,4,1,""],db_lock_storage:[177,4,1,""],db_message:[177,4,1,""],db_receiver_external:[177,4,1,""],db_receivers_accounts:[177,4,1,""],db_receivers_objects:[177,4,1,""],db_receivers_scripts:[177,4,1,""],db_sender_accounts:[177,4,1,""],db_sender_external:[177,4,1,""],db_sender_objects:[177,4,1,""],db_sender_scripts:[177,4,1,""],db_tags:[177,4,1,""],get_next_by_db_date_created:[177,3,1,""],get_previous_by_db_date_created:[177,3,1,""],header:[177,3,1,""],hide_from:[177,3,1,""],id:[177,4,1,""],lock_storage:[177,3,1,""],locks:[177,4,1,""],message:[177,3,1,""],objects:[177,4,1,""],path:[177,4,1,""],receiver_external:[177,3,1,""],receivers:[177,3,1,""],remove_receiver:[177,3,1,""],remove_sender:[177,3,1,""],sender_external:[177,3,1,""],senders:[177,3,1,""],tags:[177,4,1,""],typename:[177,4,1,""]},"evennia.comms.models.TempMsg":{__init__:[177,3,1,""],access:[177,3,1,""],locks:[177,4,1,""],remove_receiver:[177,3,1,""],remove_sender:[177,3,1,""]},"evennia.contrib":{barter:[179,0,0,"-"],building_menu:[180,0,0,"-"],chargen:[181,0,0,"-"],clothing:[182,0,0,"-"],color_markups:[183,0,0,"-"],custom_gametime:[184,0,0,"-"],dice:[185,0,0,"-"],email_login:[186,0,0,"-"],extended_room:[187,0,0,"-"],fieldfill:[188,0,0,"-"],gendersub:[189,0,0,"-"],health_bar:[190,0,0,"-"],ingame_python:[191,0,0,"-"],mail:[199,0,0,"-"],multidescer:[202,0,0,"-"],puzzles:[203,0,0,"-"],random_string_generator:[204,0,0,"-"],rplanguage:[205,0,0,"-"],rpsystem:[206,0,0,"-"],security:[207,0,0,"-"],simpledoor:[212,0,0,"-"],slow_exit:[213,0,0,"-"],talking_npc:[214,0,0,"-"],tree_select:[215,0,0,"-"],turnbattle:[216,0,0,"-"],tutorial_examples:[222,0,0,"-"],tutorial_world:[229,0,0,"-"],unixcommand:[234,0,0,"-"],wilderness:[235,0,0,"-"]},"evennia.contrib.barter":{CmdAccept:[179,1,1,""],CmdDecline:[179,1,1,""],CmdEvaluate:[179,1,1,""],CmdFinish:[179,1,1,""],CmdOffer:[179,1,1,""],CmdStatus:[179,1,1,""],CmdTrade:[179,1,1,""],CmdTradeBase:[179,1,1,""],CmdTradeHelp:[179,1,1,""],CmdsetTrade:[179,1,1,""],TradeHandler:[179,1,1,""],TradeTimeout:[179,1,1,""]},"evennia.contrib.barter.CmdAccept":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdDecline":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdEvaluate":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdFinish":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdOffer":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdStatus":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTrade":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTradeBase":{aliases:[179,4,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],parse:[179,3,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdTradeHelp":{aliases:[179,4,1,""],func:[179,3,1,""],help_category:[179,4,1,""],key:[179,4,1,""],lock_storage:[179,4,1,""],locks:[179,4,1,""],search_index_entry:[179,4,1,""]},"evennia.contrib.barter.CmdsetTrade":{at_cmdset_creation:[179,3,1,""],key:[179,4,1,""],path:[179,4,1,""]},"evennia.contrib.barter.TradeHandler":{__init__:[179,3,1,""],accept:[179,3,1,""],decline:[179,3,1,""],finish:[179,3,1,""],get_other:[179,3,1,""],join:[179,3,1,""],list:[179,3,1,""],msg_other:[179,3,1,""],offer:[179,3,1,""],search:[179,3,1,""],unjoin:[179,3,1,""]},"evennia.contrib.barter.TradeTimeout":{DoesNotExist:[179,2,1,""],MultipleObjectsReturned:[179,2,1,""],at_repeat:[179,3,1,""],at_script_creation:[179,3,1,""],is_valid:[179,3,1,""],path:[179,4,1,""],typename:[179,4,1,""]},"evennia.contrib.building_menu":{BuildingMenu:[180,1,1,""],BuildingMenuCmdSet:[180,1,1,""],Choice:[180,1,1,""],CmdNoInput:[180,1,1,""],CmdNoMatch:[180,1,1,""],GenericBuildingCmd:[180,1,1,""],GenericBuildingMenu:[180,1,1,""],menu_edit:[180,5,1,""],menu_quit:[180,5,1,""],menu_setattr:[180,5,1,""]},"evennia.contrib.building_menu.BuildingMenu":{__init__:[180,3,1,""],add_choice:[180,3,1,""],add_choice_edit:[180,3,1,""],add_choice_quit:[180,3,1,""],close:[180,3,1,""],current_choice:[180,3,1,""],display:[180,3,1,""],display_choice:[180,3,1,""],display_title:[180,3,1,""],init:[180,3,1,""],joker_key:[180,4,1,""],keys_go_back:[180,4,1,""],min_shortcut:[180,4,1,""],move:[180,3,1,""],open:[180,3,1,""],open_parent_menu:[180,3,1,""],open_submenu:[180,3,1,""],relevant_choices:[180,3,1,""],restore:[180,3,1,""],sep_keys:[180,4,1,""]},"evennia.contrib.building_menu.BuildingMenuCmdSet":{at_cmdset_creation:[180,3,1,""],key:[180,4,1,""],path:[180,4,1,""],priority:[180,4,1,""]},"evennia.contrib.building_menu.Choice":{__init__:[180,3,1,""],enter:[180,3,1,""],format_text:[180,3,1,""],keys:[180,3,1,""],leave:[180,3,1,""],nomatch:[180,3,1,""]},"evennia.contrib.building_menu.CmdNoInput":{__init__:[180,3,1,""],aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],locks:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.CmdNoMatch":{__init__:[180,3,1,""],aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],locks:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.GenericBuildingCmd":{aliases:[180,4,1,""],func:[180,3,1,""],help_category:[180,4,1,""],key:[180,4,1,""],lock_storage:[180,4,1,""],search_index_entry:[180,4,1,""]},"evennia.contrib.building_menu.GenericBuildingMenu":{init:[180,3,1,""]},"evennia.contrib.chargen":{CmdOOCCharacterCreate:[181,1,1,""],CmdOOCLook:[181,1,1,""],OOCCmdSetCharGen:[181,1,1,""]},"evennia.contrib.chargen.CmdOOCCharacterCreate":{aliases:[181,4,1,""],func:[181,3,1,""],help_category:[181,4,1,""],key:[181,4,1,""],lock_storage:[181,4,1,""],locks:[181,4,1,""],search_index_entry:[181,4,1,""]},"evennia.contrib.chargen.CmdOOCLook":{aliases:[181,4,1,""],func:[181,3,1,""],help_category:[181,4,1,""],key:[181,4,1,""],lock_storage:[181,4,1,""],locks:[181,4,1,""],search_index_entry:[181,4,1,""]},"evennia.contrib.chargen.OOCCmdSetCharGen":{at_cmdset_creation:[181,3,1,""],path:[181,4,1,""]},"evennia.contrib.clothing":{ClothedCharacter:[182,1,1,""],ClothedCharacterCmdSet:[182,1,1,""],Clothing:[182,1,1,""],CmdCover:[182,1,1,""],CmdDrop:[182,1,1,""],CmdGive:[182,1,1,""],CmdInventory:[182,1,1,""],CmdRemove:[182,1,1,""],CmdUncover:[182,1,1,""],CmdWear:[182,1,1,""],clothing_type_count:[182,5,1,""],get_worn_clothes:[182,5,1,""],order_clothes_list:[182,5,1,""],single_type_count:[182,5,1,""]},"evennia.contrib.clothing.ClothedCharacter":{DoesNotExist:[182,2,1,""],MultipleObjectsReturned:[182,2,1,""],path:[182,4,1,""],return_appearance:[182,3,1,""],typename:[182,4,1,""]},"evennia.contrib.clothing.ClothedCharacterCmdSet":{at_cmdset_creation:[182,3,1,""],key:[182,4,1,""],path:[182,4,1,""]},"evennia.contrib.clothing.Clothing":{DoesNotExist:[182,2,1,""],MultipleObjectsReturned:[182,2,1,""],at_get:[182,3,1,""],path:[182,4,1,""],remove:[182,3,1,""],typename:[182,4,1,""],wear:[182,3,1,""]},"evennia.contrib.clothing.CmdCover":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdDrop":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdGive":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdInventory":{aliases:[182,4,1,""],arg_regex:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],locks:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdRemove":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdUncover":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.clothing.CmdWear":{aliases:[182,4,1,""],func:[182,3,1,""],help_category:[182,4,1,""],key:[182,4,1,""],lock_storage:[182,4,1,""],search_index_entry:[182,4,1,""]},"evennia.contrib.custom_gametime":{GametimeScript:[184,1,1,""],custom_gametime:[184,5,1,""],gametime_to_realtime:[184,5,1,""],real_seconds_until:[184,5,1,""],realtime_to_gametime:[184,5,1,""],schedule:[184,5,1,""],time_to_tuple:[184,5,1,""]},"evennia.contrib.custom_gametime.GametimeScript":{DoesNotExist:[184,2,1,""],MultipleObjectsReturned:[184,2,1,""],at_repeat:[184,3,1,""],at_script_creation:[184,3,1,""],path:[184,4,1,""],typename:[184,4,1,""]},"evennia.contrib.dice":{CmdDice:[185,1,1,""],DiceCmdSet:[185,1,1,""],roll_dice:[185,5,1,""]},"evennia.contrib.dice.CmdDice":{aliases:[185,4,1,""],func:[185,3,1,""],help_category:[185,4,1,""],key:[185,4,1,""],lock_storage:[185,4,1,""],locks:[185,4,1,""],search_index_entry:[185,4,1,""]},"evennia.contrib.dice.DiceCmdSet":{at_cmdset_creation:[185,3,1,""],path:[185,4,1,""]},"evennia.contrib.email_login":{CmdUnconnectedConnect:[186,1,1,""],CmdUnconnectedCreate:[186,1,1,""],CmdUnconnectedHelp:[186,1,1,""],CmdUnconnectedLook:[186,1,1,""],CmdUnconnectedQuit:[186,1,1,""]},"evennia.contrib.email_login.CmdUnconnectedConnect":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedCreate":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],parse:[186,3,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedHelp":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedLook":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.email_login.CmdUnconnectedQuit":{aliases:[186,4,1,""],func:[186,3,1,""],help_category:[186,4,1,""],key:[186,4,1,""],lock_storage:[186,4,1,""],locks:[186,4,1,""],search_index_entry:[186,4,1,""]},"evennia.contrib.extended_room":{CmdExtendedRoomDesc:[187,1,1,""],CmdExtendedRoomDetail:[187,1,1,""],CmdExtendedRoomGameTime:[187,1,1,""],CmdExtendedRoomLook:[187,1,1,""],ExtendedRoom:[187,1,1,""],ExtendedRoomCmdSet:[187,1,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomDesc":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],reset_times:[187,3,1,""],search_index_entry:[187,4,1,""],switch_options:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomDetail":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],locks:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomGameTime":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],locks:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.CmdExtendedRoomLook":{aliases:[187,4,1,""],func:[187,3,1,""],help_category:[187,4,1,""],key:[187,4,1,""],lock_storage:[187,4,1,""],search_index_entry:[187,4,1,""]},"evennia.contrib.extended_room.ExtendedRoom":{DoesNotExist:[187,2,1,""],MultipleObjectsReturned:[187,2,1,""],at_object_creation:[187,3,1,""],del_detail:[187,3,1,""],get_time_and_season:[187,3,1,""],path:[187,4,1,""],replace_timeslots:[187,3,1,""],return_appearance:[187,3,1,""],return_detail:[187,3,1,""],set_detail:[187,3,1,""],typename:[187,4,1,""],update_current_description:[187,3,1,""]},"evennia.contrib.extended_room.ExtendedRoomCmdSet":{at_cmdset_creation:[187,3,1,""],path:[187,4,1,""]},"evennia.contrib.fieldfill":{CmdTestMenu:[188,1,1,""],FieldEvMenu:[188,1,1,""],display_formdata:[188,5,1,""],form_template_to_dict:[188,5,1,""],init_delayed_message:[188,5,1,""],init_fill_field:[188,5,1,""],menunode_fieldfill:[188,5,1,""],sendmessage:[188,5,1,""],verify_online_player:[188,5,1,""]},"evennia.contrib.fieldfill.CmdTestMenu":{aliases:[188,4,1,""],func:[188,3,1,""],help_category:[188,4,1,""],key:[188,4,1,""],lock_storage:[188,4,1,""],search_index_entry:[188,4,1,""]},"evennia.contrib.fieldfill.FieldEvMenu":{node_formatter:[188,3,1,""]},"evennia.contrib.gendersub":{GenderCharacter:[189,1,1,""],SetGender:[189,1,1,""]},"evennia.contrib.gendersub.GenderCharacter":{DoesNotExist:[189,2,1,""],MultipleObjectsReturned:[189,2,1,""],at_object_creation:[189,3,1,""],msg:[189,3,1,""],path:[189,4,1,""],typename:[189,4,1,""]},"evennia.contrib.gendersub.SetGender":{aliases:[189,4,1,""],func:[189,3,1,""],help_category:[189,4,1,""],key:[189,4,1,""],lock_storage:[189,4,1,""],locks:[189,4,1,""],search_index_entry:[189,4,1,""]},"evennia.contrib.health_bar":{display_meter:[190,5,1,""]},"evennia.contrib.ingame_python":{callbackhandler:[192,0,0,"-"],commands:[193,0,0,"-"],eventfuncs:[194,0,0,"-"],scripts:[195,0,0,"-"],tests:[196,0,0,"-"],utils:[198,0,0,"-"]},"evennia.contrib.ingame_python.callbackhandler":{Callback:[192,1,1,""],CallbackHandler:[192,1,1,""]},"evennia.contrib.ingame_python.callbackhandler.Callback":{author:[192,4,1,""],code:[192,4,1,""],created_on:[192,4,1,""],name:[192,4,1,""],number:[192,4,1,""],obj:[192,4,1,""],parameters:[192,4,1,""],updated_by:[192,4,1,""],updated_on:[192,4,1,""],valid:[192,4,1,""]},"evennia.contrib.ingame_python.callbackhandler.CallbackHandler":{__init__:[192,3,1,""],add:[192,3,1,""],all:[192,3,1,""],call:[192,3,1,""],edit:[192,3,1,""],format_callback:[192,3,1,""],get:[192,3,1,""],get_variable:[192,3,1,""],remove:[192,3,1,""],script:[192,4,1,""]},"evennia.contrib.ingame_python.commands":{CmdCallback:[193,1,1,""]},"evennia.contrib.ingame_python.commands.CmdCallback":{accept_callback:[193,3,1,""],add_callback:[193,3,1,""],aliases:[193,4,1,""],del_callback:[193,3,1,""],edit_callback:[193,3,1,""],func:[193,3,1,""],get_help:[193,3,1,""],help_category:[193,4,1,""],key:[193,4,1,""],list_callbacks:[193,3,1,""],list_tasks:[193,3,1,""],lock_storage:[193,4,1,""],locks:[193,4,1,""],search_index_entry:[193,4,1,""]},"evennia.contrib.ingame_python.eventfuncs":{call_event:[194,5,1,""],deny:[194,5,1,""],get:[194,5,1,""]},"evennia.contrib.ingame_python.scripts":{EventHandler:[195,1,1,""],TimeEventScript:[195,1,1,""],complete_task:[195,5,1,""]},"evennia.contrib.ingame_python.scripts.EventHandler":{DoesNotExist:[195,2,1,""],MultipleObjectsReturned:[195,2,1,""],accept_callback:[195,3,1,""],add_callback:[195,3,1,""],add_event:[195,3,1,""],at_script_creation:[195,3,1,""],at_server_start:[195,3,1,""],call:[195,3,1,""],del_callback:[195,3,1,""],edit_callback:[195,3,1,""],get_callbacks:[195,3,1,""],get_events:[195,3,1,""],get_variable:[195,3,1,""],handle_error:[195,3,1,""],path:[195,4,1,""],set_task:[195,3,1,""],typename:[195,4,1,""]},"evennia.contrib.ingame_python.scripts.TimeEventScript":{DoesNotExist:[195,2,1,""],MultipleObjectsReturned:[195,2,1,""],at_repeat:[195,3,1,""],at_script_creation:[195,3,1,""],path:[195,4,1,""],typename:[195,4,1,""]},"evennia.contrib.ingame_python.tests":{TestCmdCallback:[196,1,1,""],TestDefaultCallbacks:[196,1,1,""],TestEventHandler:[196,1,1,""]},"evennia.contrib.ingame_python.tests.TestCmdCallback":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_accept:[196,3,1,""],test_add:[196,3,1,""],test_del:[196,3,1,""],test_list:[196,3,1,""],test_lock:[196,3,1,""]},"evennia.contrib.ingame_python.tests.TestDefaultCallbacks":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_exit:[196,3,1,""]},"evennia.contrib.ingame_python.tests.TestEventHandler":{setUp:[196,3,1,""],tearDown:[196,3,1,""],test_accept:[196,3,1,""],test_add_validation:[196,3,1,""],test_call:[196,3,1,""],test_del:[196,3,1,""],test_edit:[196,3,1,""],test_edit_validation:[196,3,1,""],test_handler:[196,3,1,""],test_start:[196,3,1,""]},"evennia.contrib.ingame_python.utils":{InterruptEvent:[198,2,1,""],get_event_handler:[198,5,1,""],get_next_wait:[198,5,1,""],keyword_event:[198,5,1,""],phrase_event:[198,5,1,""],register_events:[198,5,1,""],time_event:[198,5,1,""]},"evennia.contrib.mail":{CmdMail:[199,1,1,""],CmdMailCharacter:[199,1,1,""]},"evennia.contrib.mail.CmdMail":{aliases:[199,4,1,""],func:[199,3,1,""],get_all_mail:[199,3,1,""],help_category:[199,4,1,""],key:[199,4,1,""],lock:[199,4,1,""],lock_storage:[199,4,1,""],parse:[199,3,1,""],search_index_entry:[199,4,1,""],search_targets:[199,3,1,""],send_mail:[199,3,1,""]},"evennia.contrib.mail.CmdMailCharacter":{account_caller:[199,4,1,""],aliases:[199,4,1,""],help_category:[199,4,1,""],key:[199,4,1,""],lock_storage:[199,4,1,""],search_index_entry:[199,4,1,""]},"evennia.contrib.multidescer":{CmdMultiDesc:[202,1,1,""],DescValidateError:[202,2,1,""]},"evennia.contrib.multidescer.CmdMultiDesc":{aliases:[202,4,1,""],func:[202,3,1,""],help_category:[202,4,1,""],key:[202,4,1,""],lock_storage:[202,4,1,""],locks:[202,4,1,""],search_index_entry:[202,4,1,""]},"evennia.contrib.puzzles":{CmdArmPuzzle:[203,1,1,""],CmdCreatePuzzleRecipe:[203,1,1,""],CmdEditPuzzle:[203,1,1,""],CmdListArmedPuzzles:[203,1,1,""],CmdListPuzzleRecipes:[203,1,1,""],CmdUsePuzzleParts:[203,1,1,""],PuzzleRecipe:[203,1,1,""],PuzzleSystemCmdSet:[203,1,1,""],maskout_protodef:[203,5,1,""],proto_def:[203,5,1,""]},"evennia.contrib.puzzles.CmdArmPuzzle":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdCreatePuzzleRecipe":{aliases:[203,4,1,""],confirm:[203,4,1,""],default_confirm:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdEditPuzzle":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdListArmedPuzzles":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdListPuzzleRecipes":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.CmdUsePuzzleParts":{aliases:[203,4,1,""],func:[203,3,1,""],help_category:[203,4,1,""],key:[203,4,1,""],lock_storage:[203,4,1,""],locks:[203,4,1,""],search_index_entry:[203,4,1,""]},"evennia.contrib.puzzles.PuzzleRecipe":{DoesNotExist:[203,2,1,""],MultipleObjectsReturned:[203,2,1,""],path:[203,4,1,""],save_recipe:[203,3,1,""],typename:[203,4,1,""]},"evennia.contrib.puzzles.PuzzleSystemCmdSet":{at_cmdset_creation:[203,3,1,""],path:[203,4,1,""]},"evennia.contrib.random_string_generator":{ExhaustedGenerator:[204,2,1,""],RandomStringGenerator:[204,1,1,""],RandomStringGeneratorScript:[204,1,1,""],RejectedRegex:[204,2,1,""]},"evennia.contrib.random_string_generator.RandomStringGenerator":{__init__:[204,3,1,""],all:[204,3,1,""],clear:[204,3,1,""],get:[204,3,1,""],remove:[204,3,1,""],script:[204,4,1,""]},"evennia.contrib.random_string_generator.RandomStringGeneratorScript":{DoesNotExist:[204,2,1,""],MultipleObjectsReturned:[204,2,1,""],at_script_creation:[204,3,1,""],path:[204,4,1,""],typename:[204,4,1,""]},"evennia.contrib.rplanguage":{LanguageError:[205,2,1,""],LanguageExistsError:[205,2,1,""],LanguageHandler:[205,1,1,""],add_language:[205,5,1,""],available_languages:[205,5,1,""],obfuscate_language:[205,5,1,""],obfuscate_whisper:[205,5,1,""]},"evennia.contrib.rplanguage.LanguageHandler":{DoesNotExist:[205,2,1,""],MultipleObjectsReturned:[205,2,1,""],add:[205,3,1,""],at_script_creation:[205,3,1,""],path:[205,4,1,""],translate:[205,3,1,""],typename:[205,4,1,""]},"evennia.contrib.rpsystem":{CmdEmote:[206,1,1,""],CmdMask:[206,1,1,""],CmdPose:[206,1,1,""],CmdRecog:[206,1,1,""],CmdSay:[206,1,1,""],CmdSdesc:[206,1,1,""],ContribRPCharacter:[206,1,1,""],ContribRPObject:[206,1,1,""],ContribRPRoom:[206,1,1,""],EmoteError:[206,2,1,""],LanguageError:[206,2,1,""],RPCommand:[206,1,1,""],RPSystemCmdSet:[206,1,1,""],RecogError:[206,2,1,""],RecogHandler:[206,1,1,""],SdescError:[206,2,1,""],SdescHandler:[206,1,1,""],ordered_permutation_regex:[206,5,1,""],parse_language:[206,5,1,""],parse_sdescs_and_recogs:[206,5,1,""],regex_tuple_from_key_alias:[206,5,1,""],send_emote:[206,5,1,""]},"evennia.contrib.rpsystem.CmdEmote":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdMask":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdPose":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdRecog":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdSay":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.CmdSdesc":{aliases:[206,4,1,""],func:[206,3,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],locks:[206,4,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPCharacter":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],at_before_say:[206,3,1,""],at_object_creation:[206,3,1,""],get_display_name:[206,3,1,""],path:[206,4,1,""],process_language:[206,3,1,""],process_recog:[206,3,1,""],process_sdesc:[206,3,1,""],recog:[206,4,1,""],sdesc:[206,4,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPObject":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],at_object_creation:[206,3,1,""],get_display_name:[206,3,1,""],path:[206,4,1,""],return_appearance:[206,3,1,""],search:[206,3,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.ContribRPRoom":{DoesNotExist:[206,2,1,""],MultipleObjectsReturned:[206,2,1,""],path:[206,4,1,""],typename:[206,4,1,""]},"evennia.contrib.rpsystem.RPCommand":{aliases:[206,4,1,""],help_category:[206,4,1,""],key:[206,4,1,""],lock_storage:[206,4,1,""],parse:[206,3,1,""],search_index_entry:[206,4,1,""]},"evennia.contrib.rpsystem.RPSystemCmdSet":{at_cmdset_creation:[206,3,1,""],path:[206,4,1,""]},"evennia.contrib.rpsystem.RecogHandler":{__init__:[206,3,1,""],add:[206,3,1,""],all:[206,3,1,""],get:[206,3,1,""],get_regex_tuple:[206,3,1,""],remove:[206,3,1,""]},"evennia.contrib.rpsystem.SdescHandler":{__init__:[206,3,1,""],add:[206,3,1,""],get:[206,3,1,""],get_regex_tuple:[206,3,1,""]},"evennia.contrib.security":{auditing:[208,0,0,"-"]},"evennia.contrib.security.auditing":{outputs:[209,0,0,"-"],server:[210,0,0,"-"],tests:[211,0,0,"-"]},"evennia.contrib.security.auditing.outputs":{to_file:[209,5,1,""],to_syslog:[209,5,1,""]},"evennia.contrib.security.auditing.server":{AuditedServerSession:[210,1,1,""]},"evennia.contrib.security.auditing.server.AuditedServerSession":{audit:[210,3,1,""],data_in:[210,3,1,""],data_out:[210,3,1,""],mask:[210,3,1,""]},"evennia.contrib.security.auditing.tests":{AuditingTest:[211,1,1,""]},"evennia.contrib.security.auditing.tests.AuditingTest":{test_audit:[211,3,1,""],test_mask:[211,3,1,""]},"evennia.contrib.simpledoor":{CmdOpen:[212,1,1,""],CmdOpenCloseDoor:[212,1,1,""],SimpleDoor:[212,1,1,""]},"evennia.contrib.simpledoor.CmdOpen":{aliases:[212,4,1,""],create_exit:[212,3,1,""],help_category:[212,4,1,""],key:[212,4,1,""],lock_storage:[212,4,1,""],search_index_entry:[212,4,1,""]},"evennia.contrib.simpledoor.CmdOpenCloseDoor":{aliases:[212,4,1,""],func:[212,3,1,""],help_category:[212,4,1,""],key:[212,4,1,""],lock_storage:[212,4,1,""],locks:[212,4,1,""],search_index_entry:[212,4,1,""]},"evennia.contrib.simpledoor.SimpleDoor":{"delete":[212,3,1,""],DoesNotExist:[212,2,1,""],MultipleObjectsReturned:[212,2,1,""],at_failed_traverse:[212,3,1,""],at_object_creation:[212,3,1,""],path:[212,4,1,""],setdesc:[212,3,1,""],setlock:[212,3,1,""],typename:[212,4,1,""]},"evennia.contrib.slow_exit":{CmdSetSpeed:[213,1,1,""],CmdStop:[213,1,1,""],SlowExit:[213,1,1,""]},"evennia.contrib.slow_exit.CmdSetSpeed":{aliases:[213,4,1,""],func:[213,3,1,""],help_category:[213,4,1,""],key:[213,4,1,""],lock_storage:[213,4,1,""],search_index_entry:[213,4,1,""]},"evennia.contrib.slow_exit.CmdStop":{aliases:[213,4,1,""],func:[213,3,1,""],help_category:[213,4,1,""],key:[213,4,1,""],lock_storage:[213,4,1,""],search_index_entry:[213,4,1,""]},"evennia.contrib.slow_exit.SlowExit":{DoesNotExist:[213,2,1,""],MultipleObjectsReturned:[213,2,1,""],at_traverse:[213,3,1,""],path:[213,4,1,""],typename:[213,4,1,""]},"evennia.contrib.talking_npc":{CmdTalk:[214,1,1,""],END:[214,5,1,""],TalkingCmdSet:[214,1,1,""],TalkingNPC:[214,1,1,""],info1:[214,5,1,""],info2:[214,5,1,""],info3:[214,5,1,""],menu_start_node:[214,5,1,""]},"evennia.contrib.talking_npc.CmdTalk":{aliases:[214,4,1,""],func:[214,3,1,""],help_category:[214,4,1,""],key:[214,4,1,""],lock_storage:[214,4,1,""],locks:[214,4,1,""],search_index_entry:[214,4,1,""]},"evennia.contrib.talking_npc.TalkingCmdSet":{at_cmdset_creation:[214,3,1,""],key:[214,4,1,""],path:[214,4,1,""]},"evennia.contrib.talking_npc.TalkingNPC":{DoesNotExist:[214,2,1,""],MultipleObjectsReturned:[214,2,1,""],at_object_creation:[214,3,1,""],path:[214,4,1,""],typename:[214,4,1,""]},"evennia.contrib.tree_select":{CmdNameColor:[215,1,1,""],change_name_color:[215,5,1,""],dashcount:[215,5,1,""],go_up_one_category:[215,5,1,""],index_to_selection:[215,5,1,""],init_tree_selection:[215,5,1,""],is_category:[215,5,1,""],menunode_treeselect:[215,5,1,""],optlist_to_menuoptions:[215,5,1,""],parse_opts:[215,5,1,""]},"evennia.contrib.tree_select.CmdNameColor":{aliases:[215,4,1,""],func:[215,3,1,""],help_category:[215,4,1,""],key:[215,4,1,""],lock_storage:[215,4,1,""],search_index_entry:[215,4,1,""]},"evennia.contrib.turnbattle":{tb_basic:[217,0,0,"-"],tb_equip:[218,0,0,"-"],tb_items:[219,0,0,"-"],tb_magic:[220,0,0,"-"],tb_range:[221,0,0,"-"]},"evennia.contrib.turnbattle.tb_basic":{ACTIONS_PER_TURN:[217,6,1,""],BattleCmdSet:[217,1,1,""],CmdAttack:[217,1,1,""],CmdCombatHelp:[217,1,1,""],CmdDisengage:[217,1,1,""],CmdFight:[217,1,1,""],CmdPass:[217,1,1,""],CmdRest:[217,1,1,""],TBBasicCharacter:[217,1,1,""],TBBasicTurnHandler:[217,1,1,""],apply_damage:[217,5,1,""],at_defeat:[217,5,1,""],combat_cleanup:[217,5,1,""],get_attack:[217,5,1,""],get_damage:[217,5,1,""],get_defense:[217,5,1,""],is_in_combat:[217,5,1,""],is_turn:[217,5,1,""],resolve_attack:[217,5,1,""],roll_init:[217,5,1,""],spend_action:[217,5,1,""]},"evennia.contrib.turnbattle.tb_basic.BattleCmdSet":{at_cmdset_creation:[217,3,1,""],key:[217,4,1,""],path:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdAttack":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdCombatHelp":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdDisengage":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdFight":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdPass":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.CmdRest":{aliases:[217,4,1,""],func:[217,3,1,""],help_category:[217,4,1,""],key:[217,4,1,""],lock_storage:[217,4,1,""],search_index_entry:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.TBBasicCharacter":{DoesNotExist:[217,2,1,""],MultipleObjectsReturned:[217,2,1,""],at_before_move:[217,3,1,""],at_object_creation:[217,3,1,""],path:[217,4,1,""],typename:[217,4,1,""]},"evennia.contrib.turnbattle.tb_basic.TBBasicTurnHandler":{DoesNotExist:[217,2,1,""],MultipleObjectsReturned:[217,2,1,""],at_repeat:[217,3,1,""],at_script_creation:[217,3,1,""],at_stop:[217,3,1,""],initialize_for_combat:[217,3,1,""],join_fight:[217,3,1,""],next_turn:[217,3,1,""],path:[217,4,1,""],start_turn:[217,3,1,""],turn_end_check:[217,3,1,""],typename:[217,4,1,""]},"evennia.contrib.turnbattle.tb_equip":{ACTIONS_PER_TURN:[218,6,1,""],BattleCmdSet:[218,1,1,""],CmdAttack:[218,1,1,""],CmdCombatHelp:[218,1,1,""],CmdDisengage:[218,1,1,""],CmdDoff:[218,1,1,""],CmdDon:[218,1,1,""],CmdFight:[218,1,1,""],CmdPass:[218,1,1,""],CmdRest:[218,1,1,""],CmdUnwield:[218,1,1,""],CmdWield:[218,1,1,""],TBEArmor:[218,1,1,""],TBEWeapon:[218,1,1,""],TBEquipCharacter:[218,1,1,""],TBEquipTurnHandler:[218,1,1,""],apply_damage:[218,5,1,""],at_defeat:[218,5,1,""],combat_cleanup:[218,5,1,""],get_attack:[218,5,1,""],get_damage:[218,5,1,""],get_defense:[218,5,1,""],is_in_combat:[218,5,1,""],is_turn:[218,5,1,""],resolve_attack:[218,5,1,""],roll_init:[218,5,1,""],spend_action:[218,5,1,""]},"evennia.contrib.turnbattle.tb_equip.BattleCmdSet":{at_cmdset_creation:[218,3,1,""],key:[218,4,1,""],path:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdAttack":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdCombatHelp":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDisengage":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDoff":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdDon":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdFight":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdPass":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdRest":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdUnwield":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.CmdWield":{aliases:[218,4,1,""],func:[218,3,1,""],help_category:[218,4,1,""],key:[218,4,1,""],lock_storage:[218,4,1,""],search_index_entry:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEArmor":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_before_drop:[218,3,1,""],at_before_give:[218,3,1,""],at_drop:[218,3,1,""],at_give:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEWeapon":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_drop:[218,3,1,""],at_give:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEquipCharacter":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_before_move:[218,3,1,""],at_object_creation:[218,3,1,""],path:[218,4,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_equip.TBEquipTurnHandler":{DoesNotExist:[218,2,1,""],MultipleObjectsReturned:[218,2,1,""],at_repeat:[218,3,1,""],at_script_creation:[218,3,1,""],at_stop:[218,3,1,""],initialize_for_combat:[218,3,1,""],join_fight:[218,3,1,""],next_turn:[218,3,1,""],path:[218,4,1,""],start_turn:[218,3,1,""],turn_end_check:[218,3,1,""],typename:[218,4,1,""]},"evennia.contrib.turnbattle.tb_items":{BattleCmdSet:[219,1,1,""],CmdAttack:[219,1,1,""],CmdCombatHelp:[219,1,1,""],CmdDisengage:[219,1,1,""],CmdFight:[219,1,1,""],CmdPass:[219,1,1,""],CmdRest:[219,1,1,""],CmdUse:[219,1,1,""],DEF_DOWN_MOD:[219,6,1,""],ITEMFUNCS:[219,6,1,""],TBItemsCharacter:[219,1,1,""],TBItemsCharacterTest:[219,1,1,""],TBItemsTurnHandler:[219,1,1,""],add_condition:[219,5,1,""],apply_damage:[219,5,1,""],at_defeat:[219,5,1,""],combat_cleanup:[219,5,1,""],condition_tickdown:[219,5,1,""],get_attack:[219,5,1,""],get_damage:[219,5,1,""],get_defense:[219,5,1,""],is_in_combat:[219,5,1,""],is_turn:[219,5,1,""],itemfunc_add_condition:[219,5,1,""],itemfunc_attack:[219,5,1,""],itemfunc_cure_condition:[219,5,1,""],itemfunc_heal:[219,5,1,""],resolve_attack:[219,5,1,""],roll_init:[219,5,1,""],spend_action:[219,5,1,""],spend_item_use:[219,5,1,""],use_item:[219,5,1,""]},"evennia.contrib.turnbattle.tb_items.BattleCmdSet":{at_cmdset_creation:[219,3,1,""],key:[219,4,1,""],path:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdAttack":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdCombatHelp":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdDisengage":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdFight":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdPass":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdRest":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.CmdUse":{aliases:[219,4,1,""],func:[219,3,1,""],help_category:[219,4,1,""],key:[219,4,1,""],lock_storage:[219,4,1,""],search_index_entry:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsCharacter":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],apply_turn_conditions:[219,3,1,""],at_before_move:[219,3,1,""],at_object_creation:[219,3,1,""],at_turn_start:[219,3,1,""],at_update:[219,3,1,""],path:[219,4,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],at_object_creation:[219,3,1,""],path:[219,4,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler":{DoesNotExist:[219,2,1,""],MultipleObjectsReturned:[219,2,1,""],at_repeat:[219,3,1,""],at_script_creation:[219,3,1,""],at_stop:[219,3,1,""],initialize_for_combat:[219,3,1,""],join_fight:[219,3,1,""],next_turn:[219,3,1,""],path:[219,4,1,""],start_turn:[219,3,1,""],turn_end_check:[219,3,1,""],typename:[219,4,1,""]},"evennia.contrib.turnbattle.tb_magic":{ACTIONS_PER_TURN:[220,6,1,""],BattleCmdSet:[220,1,1,""],CmdAttack:[220,1,1,""],CmdCast:[220,1,1,""],CmdCombatHelp:[220,1,1,""],CmdDisengage:[220,1,1,""],CmdFight:[220,1,1,""],CmdLearnSpell:[220,1,1,""],CmdPass:[220,1,1,""],CmdRest:[220,1,1,""],CmdStatus:[220,1,1,""],TBMagicCharacter:[220,1,1,""],TBMagicTurnHandler:[220,1,1,""],apply_damage:[220,5,1,""],at_defeat:[220,5,1,""],combat_cleanup:[220,5,1,""],get_attack:[220,5,1,""],get_damage:[220,5,1,""],get_defense:[220,5,1,""],is_in_combat:[220,5,1,""],is_turn:[220,5,1,""],resolve_attack:[220,5,1,""],roll_init:[220,5,1,""],spell_attack:[220,5,1,""],spell_conjure:[220,5,1,""],spell_healing:[220,5,1,""],spend_action:[220,5,1,""]},"evennia.contrib.turnbattle.tb_magic.BattleCmdSet":{at_cmdset_creation:[220,3,1,""],key:[220,4,1,""],path:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdAttack":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdCast":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdCombatHelp":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdDisengage":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdFight":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdLearnSpell":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdPass":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdRest":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.CmdStatus":{aliases:[220,4,1,""],func:[220,3,1,""],help_category:[220,4,1,""],key:[220,4,1,""],lock_storage:[220,4,1,""],search_index_entry:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.TBMagicCharacter":{DoesNotExist:[220,2,1,""],MultipleObjectsReturned:[220,2,1,""],at_before_move:[220,3,1,""],at_object_creation:[220,3,1,""],path:[220,4,1,""],typename:[220,4,1,""]},"evennia.contrib.turnbattle.tb_magic.TBMagicTurnHandler":{DoesNotExist:[220,2,1,""],MultipleObjectsReturned:[220,2,1,""],at_repeat:[220,3,1,""],at_script_creation:[220,3,1,""],at_stop:[220,3,1,""],initialize_for_combat:[220,3,1,""],join_fight:[220,3,1,""],next_turn:[220,3,1,""],path:[220,4,1,""],start_turn:[220,3,1,""],turn_end_check:[220,3,1,""],typename:[220,4,1,""]},"evennia.contrib.turnbattle.tb_range":{ACTIONS_PER_TURN:[221,6,1,""],BattleCmdSet:[221,1,1,""],CmdApproach:[221,1,1,""],CmdAttack:[221,1,1,""],CmdCombatHelp:[221,1,1,""],CmdDisengage:[221,1,1,""],CmdFight:[221,1,1,""],CmdPass:[221,1,1,""],CmdRest:[221,1,1,""],CmdShoot:[221,1,1,""],CmdStatus:[221,1,1,""],CmdWithdraw:[221,1,1,""],TBRangeCharacter:[221,1,1,""],TBRangeObject:[221,1,1,""],TBRangeTurnHandler:[221,1,1,""],apply_damage:[221,5,1,""],approach:[221,5,1,""],at_defeat:[221,5,1,""],combat_cleanup:[221,5,1,""],combat_status_message:[221,5,1,""],distance_inc:[221,5,1,""],get_attack:[221,5,1,""],get_damage:[221,5,1,""],get_defense:[221,5,1,""],get_range:[221,5,1,""],is_in_combat:[221,5,1,""],is_turn:[221,5,1,""],resolve_attack:[221,5,1,""],roll_init:[221,5,1,""],spend_action:[221,5,1,""],withdraw:[221,5,1,""]},"evennia.contrib.turnbattle.tb_range.BattleCmdSet":{at_cmdset_creation:[221,3,1,""],key:[221,4,1,""],path:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdApproach":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdAttack":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdCombatHelp":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdDisengage":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdFight":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdPass":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdRest":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdShoot":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdStatus":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.CmdWithdraw":{aliases:[221,4,1,""],func:[221,3,1,""],help_category:[221,4,1,""],key:[221,4,1,""],lock_storage:[221,4,1,""],search_index_entry:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeCharacter":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_before_move:[221,3,1,""],at_object_creation:[221,3,1,""],path:[221,4,1,""],typename:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeObject":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_before_drop:[221,3,1,""],at_before_get:[221,3,1,""],at_before_give:[221,3,1,""],at_drop:[221,3,1,""],at_get:[221,3,1,""],at_give:[221,3,1,""],path:[221,4,1,""],typename:[221,4,1,""]},"evennia.contrib.turnbattle.tb_range.TBRangeTurnHandler":{DoesNotExist:[221,2,1,""],MultipleObjectsReturned:[221,2,1,""],at_repeat:[221,3,1,""],at_script_creation:[221,3,1,""],at_stop:[221,3,1,""],init_range:[221,3,1,""],initialize_for_combat:[221,3,1,""],join_fight:[221,3,1,""],join_rangefield:[221,3,1,""],next_turn:[221,3,1,""],path:[221,4,1,""],start_turn:[221,3,1,""],turn_end_check:[221,3,1,""],typename:[221,4,1,""]},"evennia.contrib.tutorial_examples":{bodyfunctions:[223,0,0,"-"],red_button:[226,0,0,"-"],tests:[228,0,0,"-"]},"evennia.contrib.tutorial_examples.bodyfunctions":{BodyFunctions:[223,1,1,""]},"evennia.contrib.tutorial_examples.bodyfunctions.BodyFunctions":{DoesNotExist:[223,2,1,""],MultipleObjectsReturned:[223,2,1,""],at_repeat:[223,3,1,""],at_script_creation:[223,3,1,""],path:[223,4,1,""],send_random_message:[223,3,1,""],typename:[223,4,1,""]},"evennia.contrib.tutorial_examples.red_button":{BlindCmdSet:[226,1,1,""],CmdBlindHelp:[226,1,1,""],CmdBlindLook:[226,1,1,""],CmdCloseLid:[226,1,1,""],CmdNudge:[226,1,1,""],CmdOpenLid:[226,1,1,""],CmdPushLidClosed:[226,1,1,""],CmdPushLidOpen:[226,1,1,""],CmdSmashGlass:[226,1,1,""],LidClosedCmdSet:[226,1,1,""],LidOpenCmdSet:[226,1,1,""],RedButton:[226,1,1,""]},"evennia.contrib.tutorial_examples.red_button.BlindCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],mergetype:[226,4,1,""],no_exits:[226,4,1,""],no_objs:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdBlindHelp":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdBlindLook":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdCloseLid":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdNudge":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdOpenLid":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdPushLidClosed":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdPushLidOpen":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.CmdSmashGlass":{aliases:[226,4,1,""],func:[226,3,1,""],help_category:[226,4,1,""],key:[226,4,1,""],lock_storage:[226,4,1,""],locks:[226,4,1,""],search_index_entry:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.LidClosedCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.LidOpenCmdSet":{at_cmdset_creation:[226,3,1,""],key:[226,4,1,""],path:[226,4,1,""]},"evennia.contrib.tutorial_examples.red_button.RedButton":{DoesNotExist:[226,2,1,""],MultipleObjectsReturned:[226,2,1,""],at_object_creation:[226,3,1,""],auto_close_msg:[226,4,1,""],blind_target:[226,3,1,""],blink_msgs:[226,4,1,""],break_lamp:[226,3,1,""],desc_add_lamp_broken:[226,4,1,""],desc_closed_lid:[226,4,1,""],desc_open_lid:[226,4,1,""],lamp_breaks_msg:[226,4,1,""],path:[226,4,1,""],to_closed_state:[226,3,1,""],to_open_state:[226,3,1,""],typename:[226,4,1,""]},"evennia.contrib.tutorial_examples.tests":{TestBodyFunctions:[228,1,1,""]},"evennia.contrib.tutorial_examples.tests.TestBodyFunctions":{script_typeclass:[228,4,1,""],setUp:[228,3,1,""],tearDown:[228,3,1,""],test_at_repeat:[228,3,1,""],test_send_random_message:[228,3,1,""]},"evennia.contrib.tutorial_world":{intro_menu:[230,0,0,"-"],mob:[231,0,0,"-"],objects:[232,0,0,"-"],rooms:[233,0,0,"-"]},"evennia.contrib.tutorial_world.intro_menu":{DemoCommandSetComms:[230,1,1,""],DemoCommandSetHelp:[230,1,1,""],DemoCommandSetRoom:[230,1,1,""],TutorialEvMenu:[230,1,1,""],do_nothing:[230,5,1,""],goto_cleanup_cmdsets:[230,5,1,""],goto_command_demo_comms:[230,5,1,""],goto_command_demo_help:[230,5,1,""],goto_command_demo_room:[230,5,1,""],init_menu:[230,5,1,""],send_testing_tagged:[230,5,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetComms":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],no_exits:[230,4,1,""],no_objs:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetHelp":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.DemoCommandSetRoom":{at_cmdset_creation:[230,3,1,""],key:[230,4,1,""],no_exits:[230,4,1,""],no_objs:[230,4,1,""],path:[230,4,1,""],priority:[230,4,1,""]},"evennia.contrib.tutorial_world.intro_menu.TutorialEvMenu":{close_menu:[230,3,1,""],options_formatter:[230,3,1,""]},"evennia.contrib.tutorial_world.mob":{CmdMobOnOff:[231,1,1,""],Mob:[231,1,1,""],MobCmdSet:[231,1,1,""]},"evennia.contrib.tutorial_world.mob.CmdMobOnOff":{aliases:[231,4,1,""],func:[231,3,1,""],help_category:[231,4,1,""],key:[231,4,1,""],lock_storage:[231,4,1,""],locks:[231,4,1,""],search_index_entry:[231,4,1,""]},"evennia.contrib.tutorial_world.mob.Mob":{DoesNotExist:[231,2,1,""],MultipleObjectsReturned:[231,2,1,""],at_hit:[231,3,1,""],at_init:[231,3,1,""],at_new_arrival:[231,3,1,""],at_object_creation:[231,3,1,""],do_attack:[231,3,1,""],do_hunting:[231,3,1,""],do_patrol:[231,3,1,""],path:[231,4,1,""],set_alive:[231,3,1,""],set_dead:[231,3,1,""],start_attacking:[231,3,1,""],start_hunting:[231,3,1,""],start_idle:[231,3,1,""],start_patrolling:[231,3,1,""],typename:[231,4,1,""]},"evennia.contrib.tutorial_world.mob.MobCmdSet":{at_cmdset_creation:[231,3,1,""],path:[231,4,1,""]},"evennia.contrib.tutorial_world.objects":{CmdAttack:[232,1,1,""],CmdClimb:[232,1,1,""],CmdGetWeapon:[232,1,1,""],CmdLight:[232,1,1,""],CmdPressButton:[232,1,1,""],CmdRead:[232,1,1,""],CmdSetClimbable:[232,1,1,""],CmdSetCrumblingWall:[232,1,1,""],CmdSetLight:[232,1,1,""],CmdSetReadable:[232,1,1,""],CmdSetWeapon:[232,1,1,""],CmdSetWeaponRack:[232,1,1,""],CmdShiftRoot:[232,1,1,""],CrumblingWall:[232,1,1,""],LightSource:[232,1,1,""],Obelisk:[232,1,1,""],TutorialClimbable:[232,1,1,""],TutorialObject:[232,1,1,""],TutorialReadable:[232,1,1,""],TutorialWeapon:[232,1,1,""],TutorialWeaponRack:[232,1,1,""]},"evennia.contrib.tutorial_world.objects.CmdAttack":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdClimb":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdGetWeapon":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdLight":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdPressButton":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdRead":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetClimbable":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetCrumblingWall":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""],priority:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetLight":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""],priority:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetReadable":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetWeapon":{at_cmdset_creation:[232,3,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdSetWeaponRack":{at_cmdset_creation:[232,3,1,""],key:[232,4,1,""],path:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CmdShiftRoot":{aliases:[232,4,1,""],func:[232,3,1,""],help_category:[232,4,1,""],key:[232,4,1,""],lock_storage:[232,4,1,""],locks:[232,4,1,""],parse:[232,3,1,""],search_index_entry:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.CrumblingWall":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_after_traverse:[232,3,1,""],at_failed_traverse:[232,3,1,""],at_init:[232,3,1,""],at_object_creation:[232,3,1,""],open_wall:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],return_appearance:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.LightSource":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_init:[232,3,1,""],at_object_creation:[232,3,1,""],light:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.Obelisk":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],return_appearance:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialClimbable":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialObject":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialReadable":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialWeapon":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],reset:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.objects.TutorialWeaponRack":{DoesNotExist:[232,2,1,""],MultipleObjectsReturned:[232,2,1,""],at_object_creation:[232,3,1,""],path:[232,4,1,""],produce_weapon:[232,3,1,""],typename:[232,4,1,""]},"evennia.contrib.tutorial_world.rooms":{BridgeCmdSet:[233,1,1,""],BridgeRoom:[233,1,1,""],CmdBridgeHelp:[233,1,1,""],CmdDarkHelp:[233,1,1,""],CmdDarkNoMatch:[233,1,1,""],CmdEast:[233,1,1,""],CmdEvenniaIntro:[233,1,1,""],CmdLookBridge:[233,1,1,""],CmdLookDark:[233,1,1,""],CmdSetEvenniaIntro:[233,1,1,""],CmdTutorial:[233,1,1,""],CmdTutorialGiveUp:[233,1,1,""],CmdTutorialLook:[233,1,1,""],CmdTutorialSetDetail:[233,1,1,""],CmdWest:[233,1,1,""],DarkCmdSet:[233,1,1,""],DarkRoom:[233,1,1,""],IntroRoom:[233,1,1,""],OutroRoom:[233,1,1,""],TeleportRoom:[233,1,1,""],TutorialRoom:[233,1,1,""],TutorialRoomCmdSet:[233,1,1,""],WeatherRoom:[233,1,1,""]},"evennia.contrib.tutorial_world.rooms.BridgeCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.BridgeRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""],update_weather:[233,3,1,""]},"evennia.contrib.tutorial_world.rooms.CmdBridgeHelp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdDarkHelp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdDarkNoMatch":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdEast":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdEvenniaIntro":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdLookBridge":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdLookDark":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdSetEvenniaIntro":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorial":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialGiveUp":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialLook":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdTutorialSetDetail":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.CmdWest":{aliases:[233,4,1,""],func:[233,3,1,""],help_category:[233,4,1,""],key:[233,4,1,""],lock_storage:[233,4,1,""],locks:[233,4,1,""],search_index_entry:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.DarkCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],mergetype:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.DarkRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_init:[233,3,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],check_light_state:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.IntroRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.OutroRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_leave:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TeleportRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TutorialRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],at_object_receive:[233,3,1,""],path:[233,4,1,""],return_detail:[233,3,1,""],set_detail:[233,3,1,""],typename:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.TutorialRoomCmdSet":{at_cmdset_creation:[233,3,1,""],key:[233,4,1,""],path:[233,4,1,""],priority:[233,4,1,""]},"evennia.contrib.tutorial_world.rooms.WeatherRoom":{DoesNotExist:[233,2,1,""],MultipleObjectsReturned:[233,2,1,""],at_object_creation:[233,3,1,""],path:[233,4,1,""],typename:[233,4,1,""],update_weather:[233,3,1,""]},"evennia.contrib.unixcommand":{HelpAction:[234,1,1,""],ParseError:[234,2,1,""],UnixCommand:[234,1,1,""],UnixCommandParser:[234,1,1,""]},"evennia.contrib.unixcommand.UnixCommand":{__init__:[234,3,1,""],aliases:[234,4,1,""],func:[234,3,1,""],get_help:[234,3,1,""],help_category:[234,4,1,""],init_parser:[234,3,1,""],key:[234,4,1,""],lock_storage:[234,4,1,""],parse:[234,3,1,""],search_index_entry:[234,4,1,""]},"evennia.contrib.unixcommand.UnixCommandParser":{__init__:[234,3,1,""],format_help:[234,3,1,""],format_usage:[234,3,1,""],print_help:[234,3,1,""],print_usage:[234,3,1,""]},"evennia.contrib.wilderness":{WildernessExit:[235,1,1,""],WildernessMapProvider:[235,1,1,""],WildernessRoom:[235,1,1,""],WildernessScript:[235,1,1,""],create_wilderness:[235,5,1,""],enter_wilderness:[235,5,1,""],get_new_coordinates:[235,5,1,""]},"evennia.contrib.wilderness.WildernessExit":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_traverse:[235,3,1,""],at_traverse_coordinates:[235,3,1,""],mapprovider:[235,3,1,""],path:[235,4,1,""],typename:[235,4,1,""],wilderness:[235,3,1,""]},"evennia.contrib.wilderness.WildernessMapProvider":{at_prepare_room:[235,3,1,""],exit_typeclass:[235,4,1,""],get_location_name:[235,3,1,""],is_valid_coordinates:[235,3,1,""],room_typeclass:[235,4,1,""]},"evennia.contrib.wilderness.WildernessRoom":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_object_leave:[235,3,1,""],at_object_receive:[235,3,1,""],coordinates:[235,3,1,""],get_display_name:[235,3,1,""],location_name:[235,3,1,""],path:[235,4,1,""],set_active_coordinates:[235,3,1,""],typename:[235,4,1,""],wilderness:[235,3,1,""]},"evennia.contrib.wilderness.WildernessScript":{DoesNotExist:[235,2,1,""],MultipleObjectsReturned:[235,2,1,""],at_after_object_leave:[235,3,1,""],at_script_creation:[235,3,1,""],at_start:[235,3,1,""],get_obj_coordinates:[235,3,1,""],get_objs_at_coordinates:[235,3,1,""],is_valid_coordinates:[235,3,1,""],itemcoordinates:[235,3,1,""],mapprovider:[235,3,1,""],move_obj:[235,3,1,""],path:[235,4,1,""],typename:[235,4,1,""]},"evennia.help":{manager:[238,0,0,"-"],models:[239,0,0,"-"]},"evennia.help.manager":{HelpEntryManager:[238,1,1,""]},"evennia.help.manager.HelpEntryManager":{all_to_category:[238,3,1,""],find_apropos:[238,3,1,""],find_topicmatch:[238,3,1,""],find_topics_with_category:[238,3,1,""],find_topicsuggestions:[238,3,1,""],get_all_categories:[238,3,1,""],get_all_topics:[238,3,1,""],search_help:[238,3,1,""]},"evennia.help.models":{HelpEntry:[239,1,1,""]},"evennia.help.models.HelpEntry":{DoesNotExist:[239,2,1,""],MultipleObjectsReturned:[239,2,1,""],access:[239,3,1,""],aliases:[239,4,1,""],date_created:[239,3,1,""],db_date_created:[239,4,1,""],db_entrytext:[239,4,1,""],db_help_category:[239,4,1,""],db_key:[239,4,1,""],db_lock_storage:[239,4,1,""],db_tags:[239,4,1,""],entrytext:[239,3,1,""],get_absolute_url:[239,3,1,""],get_next_by_db_date_created:[239,3,1,""],get_previous_by_db_date_created:[239,3,1,""],help_category:[239,3,1,""],id:[239,4,1,""],key:[239,3,1,""],lock_storage:[239,3,1,""],locks:[239,4,1,""],objects:[239,4,1,""],path:[239,4,1,""],search_index_entry:[239,3,1,""],tags:[239,4,1,""],typename:[239,4,1,""],web_get_admin_url:[239,3,1,""],web_get_create_url:[239,3,1,""],web_get_delete_url:[239,3,1,""],web_get_detail_url:[239,3,1,""],web_get_update_url:[239,3,1,""]},"evennia.locks":{lockfuncs:[241,0,0,"-"],lockhandler:[242,0,0,"-"]},"evennia.locks.lockfuncs":{"false":[241,5,1,""],"true":[241,5,1,""],all:[241,5,1,""],attr:[241,5,1,""],attr_eq:[241,5,1,""],attr_ge:[241,5,1,""],attr_gt:[241,5,1,""],attr_le:[241,5,1,""],attr_lt:[241,5,1,""],attr_ne:[241,5,1,""],dbref:[241,5,1,""],has_account:[241,5,1,""],holds:[241,5,1,""],id:[241,5,1,""],inside:[241,5,1,""],inside_rec:[241,5,1,""],locattr:[241,5,1,""],none:[241,5,1,""],objattr:[241,5,1,""],objlocattr:[241,5,1,""],objtag:[241,5,1,""],pdbref:[241,5,1,""],perm:[241,5,1,""],perm_above:[241,5,1,""],pid:[241,5,1,""],pperm:[241,5,1,""],pperm_above:[241,5,1,""],self:[241,5,1,""],serversetting:[241,5,1,""],superuser:[241,5,1,""],tag:[241,5,1,""]},"evennia.locks.lockhandler":{LockException:[242,2,1,""],LockHandler:[242,1,1,""]},"evennia.locks.lockhandler.LockHandler":{"delete":[242,3,1,""],__init__:[242,3,1,""],add:[242,3,1,""],all:[242,3,1,""],append:[242,3,1,""],cache_lock_bypass:[242,3,1,""],check:[242,3,1,""],check_lockstring:[242,3,1,""],clear:[242,3,1,""],get:[242,3,1,""],remove:[242,3,1,""],replace:[242,3,1,""],reset:[242,3,1,""],validate:[242,3,1,""]},"evennia.objects":{manager:[245,0,0,"-"],models:[246,0,0,"-"],objects:[247,0,0,"-"]},"evennia.objects.manager":{ObjectManager:[245,1,1,""]},"evennia.objects.models":{ContentsHandler:[246,1,1,""],ObjectDB:[246,1,1,""]},"evennia.objects.models.ContentsHandler":{__init__:[246,3,1,""],add:[246,3,1,""],clear:[246,3,1,""],get:[246,3,1,""],init:[246,3,1,""],load:[246,3,1,""],remove:[246,3,1,""]},"evennia.objects.models.ObjectDB":{DoesNotExist:[246,2,1,""],MultipleObjectsReturned:[246,2,1,""],account:[246,3,1,""],at_db_location_postsave:[246,3,1,""],cmdset_storage:[246,3,1,""],contents_cache:[246,4,1,""],db_account:[246,4,1,""],db_account_id:[246,4,1,""],db_attributes:[246,4,1,""],db_cmdset_storage:[246,4,1,""],db_destination:[246,4,1,""],db_destination_id:[246,4,1,""],db_home:[246,4,1,""],db_home_id:[246,4,1,""],db_location:[246,4,1,""],db_location_id:[246,4,1,""],db_sessid:[246,4,1,""],db_tags:[246,4,1,""],destination:[246,3,1,""],destinations_set:[246,4,1,""],get_next_by_db_date_created:[246,3,1,""],get_previous_by_db_date_created:[246,3,1,""],hide_from_objects_set:[246,4,1,""],home:[246,3,1,""],homes_set:[246,4,1,""],id:[246,4,1,""],location:[246,3,1,""],locations_set:[246,4,1,""],object_subscription_set:[246,4,1,""],objects:[246,4,1,""],path:[246,4,1,""],receiver_object_set:[246,4,1,""],scriptdb_set:[246,4,1,""],sender_object_set:[246,4,1,""],sessid:[246,3,1,""],typename:[246,4,1,""]},"evennia.objects.objects":{DefaultCharacter:[247,1,1,""],DefaultExit:[247,1,1,""],DefaultObject:[247,1,1,""],DefaultRoom:[247,1,1,""],ExitCommand:[247,1,1,""],ObjectSessionHandler:[247,1,1,""]},"evennia.objects.objects.DefaultCharacter":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],at_after_move:[247,3,1,""],at_post_puppet:[247,3,1,""],at_post_unpuppet:[247,3,1,""],at_pre_puppet:[247,3,1,""],basetype_setup:[247,3,1,""],connection_time:[247,3,1,""],create:[247,3,1,""],idle_time:[247,3,1,""],lockstring:[247,4,1,""],normalize_name:[247,3,1,""],path:[247,4,1,""],typename:[247,4,1,""],validate_name:[247,3,1,""]},"evennia.objects.objects.DefaultExit":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],at_cmdset_get:[247,3,1,""],at_failed_traverse:[247,3,1,""],at_init:[247,3,1,""],at_traverse:[247,3,1,""],basetype_setup:[247,3,1,""],create:[247,3,1,""],create_exit_cmdset:[247,3,1,""],exit_command:[247,4,1,""],lockstring:[247,4,1,""],path:[247,4,1,""],priority:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.DefaultObject":{"delete":[247,3,1,""],DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],access:[247,3,1,""],announce_move_from:[247,3,1,""],announce_move_to:[247,3,1,""],at_access:[247,3,1,""],at_after_move:[247,3,1,""],at_after_traverse:[247,3,1,""],at_before_drop:[247,3,1,""],at_before_get:[247,3,1,""],at_before_give:[247,3,1,""],at_before_move:[247,3,1,""],at_before_say:[247,3,1,""],at_cmdset_get:[247,3,1,""],at_desc:[247,3,1,""],at_drop:[247,3,1,""],at_failed_traverse:[247,3,1,""],at_first_save:[247,3,1,""],at_get:[247,3,1,""],at_give:[247,3,1,""],at_init:[247,3,1,""],at_look:[247,3,1,""],at_msg_receive:[247,3,1,""],at_msg_send:[247,3,1,""],at_object_creation:[247,3,1,""],at_object_delete:[247,3,1,""],at_object_leave:[247,3,1,""],at_object_post_copy:[247,3,1,""],at_object_receive:[247,3,1,""],at_post_puppet:[247,3,1,""],at_post_unpuppet:[247,3,1,""],at_pre_puppet:[247,3,1,""],at_pre_unpuppet:[247,3,1,""],at_say:[247,3,1,""],at_server_reload:[247,3,1,""],at_server_shutdown:[247,3,1,""],at_traverse:[247,3,1,""],basetype_posthook_setup:[247,3,1,""],basetype_setup:[247,3,1,""],clear_contents:[247,3,1,""],clear_exits:[247,3,1,""],cmdset:[247,4,1,""],contents:[247,3,1,""],contents_get:[247,3,1,""],contents_set:[247,3,1,""],copy:[247,3,1,""],create:[247,3,1,""],execute_cmd:[247,3,1,""],exits:[247,3,1,""],for_contents:[247,3,1,""],get_display_name:[247,3,1,""],get_numbered_name:[247,3,1,""],has_account:[247,3,1,""],is_connected:[247,3,1,""],is_superuser:[247,3,1,""],lockstring:[247,4,1,""],move_to:[247,3,1,""],msg:[247,3,1,""],msg_contents:[247,3,1,""],nicks:[247,4,1,""],objects:[247,4,1,""],path:[247,4,1,""],return_appearance:[247,3,1,""],scripts:[247,4,1,""],search:[247,3,1,""],search_account:[247,3,1,""],sessions:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.DefaultRoom":{DoesNotExist:[247,2,1,""],MultipleObjectsReturned:[247,2,1,""],basetype_setup:[247,3,1,""],create:[247,3,1,""],lockstring:[247,4,1,""],path:[247,4,1,""],typename:[247,4,1,""]},"evennia.objects.objects.ExitCommand":{aliases:[247,4,1,""],func:[247,3,1,""],get_extra_info:[247,3,1,""],help_category:[247,4,1,""],key:[247,4,1,""],lock_storage:[247,4,1,""],obj:[247,4,1,""],search_index_entry:[247,4,1,""]},"evennia.objects.objects.ObjectSessionHandler":{__init__:[247,3,1,""],add:[247,3,1,""],all:[247,3,1,""],clear:[247,3,1,""],count:[247,3,1,""],get:[247,3,1,""],remove:[247,3,1,""]},"evennia.prototypes":{menus:[249,0,0,"-"],protfuncs:[250,0,0,"-"],prototypes:[251,0,0,"-"],spawner:[252,0,0,"-"]},"evennia.prototypes.menus":{OLCMenu:[249,1,1,""],node_apply_diff:[249,5,1,""],node_destination:[249,5,1,""],node_examine_entity:[249,5,1,""],node_home:[249,5,1,""],node_index:[249,5,1,""],node_key:[249,5,1,""],node_location:[249,5,1,""],node_prototype_desc:[249,5,1,""],node_prototype_key:[249,5,1,""],node_prototype_save:[249,5,1,""],node_prototype_spawn:[249,5,1,""],node_validate_prototype:[249,5,1,""],start_olc:[249,5,1,""]},"evennia.prototypes.menus.OLCMenu":{display_helptext:[249,3,1,""],helptext_formatter:[249,3,1,""],nodetext_formatter:[249,3,1,""],options_formatter:[249,3,1,""]},"evennia.prototypes.protfuncs":{protfunc_callable_protkey:[250,5,1,""]},"evennia.prototypes.prototypes":{DbPrototype:[251,1,1,""],PermissionError:[251,2,1,""],PrototypeEvMore:[251,1,1,""],ValidationError:[251,2,1,""],check_permission:[251,5,1,""],create_prototype:[251,5,1,""],delete_prototype:[251,5,1,""],format_available_protfuncs:[251,5,1,""],homogenize_prototype:[251,5,1,""],init_spawn_value:[251,5,1,""],list_prototypes:[251,5,1,""],load_module_prototypes:[251,5,1,""],protfunc_parser:[251,5,1,""],prototype_to_str:[251,5,1,""],save_prototype:[251,5,1,""],search_objects_with_prototype:[251,5,1,""],search_prototype:[251,5,1,""],validate_prototype:[251,5,1,""],value_to_obj:[251,5,1,""],value_to_obj_or_any:[251,5,1,""]},"evennia.prototypes.prototypes.DbPrototype":{DoesNotExist:[251,2,1,""],MultipleObjectsReturned:[251,2,1,""],at_script_creation:[251,3,1,""],path:[251,4,1,""],prototype:[251,3,1,""],typename:[251,4,1,""]},"evennia.prototypes.prototypes.PrototypeEvMore":{__init__:[251,3,1,""],init_pages:[251,3,1,""],page_formatter:[251,3,1,""],prototype_paginator:[251,3,1,""]},"evennia.prototypes.spawner":{Unset:[252,1,1,""],batch_create_object:[252,5,1,""],batch_update_objects_with_prototype:[252,5,1,""],flatten_diff:[252,5,1,""],flatten_prototype:[252,5,1,""],format_diff:[252,5,1,""],prototype_diff:[252,5,1,""],prototype_diff_from_object:[252,5,1,""],prototype_from_object:[252,5,1,""],spawn:[252,5,1,""]},"evennia.scripts":{manager:[255,0,0,"-"],models:[256,0,0,"-"],monitorhandler:[257,0,0,"-"],scripthandler:[258,0,0,"-"],scripts:[259,0,0,"-"],taskhandler:[260,0,0,"-"],tickerhandler:[261,0,0,"-"]},"evennia.scripts.manager":{ScriptManager:[255,1,1,""]},"evennia.scripts.models":{ScriptDB:[256,1,1,""]},"evennia.scripts.models.ScriptDB":{DoesNotExist:[256,2,1,""],MultipleObjectsReturned:[256,2,1,""],account:[256,3,1,""],db_account:[256,4,1,""],db_account_id:[256,4,1,""],db_attributes:[256,4,1,""],db_desc:[256,4,1,""],db_interval:[256,4,1,""],db_is_active:[256,4,1,""],db_obj:[256,4,1,""],db_obj_id:[256,4,1,""],db_persistent:[256,4,1,""],db_repeats:[256,4,1,""],db_start_delay:[256,4,1,""],db_tags:[256,4,1,""],desc:[256,3,1,""],get_next_by_db_date_created:[256,3,1,""],get_previous_by_db_date_created:[256,3,1,""],id:[256,4,1,""],interval:[256,3,1,""],is_active:[256,3,1,""],obj:[256,3,1,""],object:[256,3,1,""],objects:[256,4,1,""],path:[256,4,1,""],persistent:[256,3,1,""],receiver_script_set:[256,4,1,""],repeats:[256,3,1,""],sender_script_set:[256,4,1,""],start_delay:[256,3,1,""],typename:[256,4,1,""]},"evennia.scripts.monitorhandler":{MonitorHandler:[257,1,1,""]},"evennia.scripts.monitorhandler.MonitorHandler":{__init__:[257,3,1,""],add:[257,3,1,""],all:[257,3,1,""],at_update:[257,3,1,""],clear:[257,3,1,""],remove:[257,3,1,""],restore:[257,3,1,""],save:[257,3,1,""]},"evennia.scripts.scripthandler":{ScriptHandler:[258,1,1,""]},"evennia.scripts.scripthandler.ScriptHandler":{"delete":[258,3,1,""],__init__:[258,3,1,""],add:[258,3,1,""],all:[258,3,1,""],get:[258,3,1,""],start:[258,3,1,""],stop:[258,3,1,""]},"evennia.scripts.scripts":{DefaultScript:[259,1,1,""],DoNothing:[259,1,1,""],Store:[259,1,1,""]},"evennia.scripts.scripts.DefaultScript":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_pause:[259,3,1,""],at_repeat:[259,3,1,""],at_script_creation:[259,3,1,""],at_script_delete:[259,3,1,""],at_server_reload:[259,3,1,""],at_server_shutdown:[259,3,1,""],at_server_start:[259,3,1,""],at_start:[259,3,1,""],at_stop:[259,3,1,""],create:[259,3,1,""],is_valid:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.scripts.DoNothing":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_script_creation:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.scripts.Store":{DoesNotExist:[259,2,1,""],MultipleObjectsReturned:[259,2,1,""],at_script_creation:[259,3,1,""],path:[259,4,1,""],typename:[259,4,1,""]},"evennia.scripts.taskhandler":{TaskHandler:[260,1,1,""],TaskHandlerTask:[260,1,1,""],handle_error:[260,5,1,""]},"evennia.scripts.taskhandler.TaskHandler":{__init__:[260,3,1,""],active:[260,3,1,""],add:[260,3,1,""],call_task:[260,3,1,""],cancel:[260,3,1,""],clean_stale_tasks:[260,3,1,""],clear:[260,3,1,""],create_delays:[260,3,1,""],do_task:[260,3,1,""],exists:[260,3,1,""],get_deferred:[260,3,1,""],load:[260,3,1,""],remove:[260,3,1,""],save:[260,3,1,""]},"evennia.scripts.taskhandler.TaskHandlerTask":{__init__:[260,3,1,""],active:[260,3,1,"id6"],call:[260,3,1,"id3"],called:[260,3,1,""],cancel:[260,3,1,"id5"],do_task:[260,3,1,"id2"],exists:[260,3,1,"id7"],get_deferred:[260,3,1,""],get_id:[260,3,1,"id8"],pause:[260,3,1,"id0"],paused:[260,3,1,""],remove:[260,3,1,"id4"],unpause:[260,3,1,"id1"]},"evennia.scripts.tickerhandler":{Ticker:[261,1,1,""],TickerHandler:[261,1,1,""],TickerPool:[261,1,1,""]},"evennia.scripts.tickerhandler.Ticker":{__init__:[261,3,1,""],add:[261,3,1,""],remove:[261,3,1,""],stop:[261,3,1,""],validate:[261,3,1,""]},"evennia.scripts.tickerhandler.TickerHandler":{__init__:[261,3,1,""],add:[261,3,1,""],all:[261,3,1,""],all_display:[261,3,1,""],clear:[261,3,1,""],remove:[261,3,1,""],restore:[261,3,1,""],save:[261,3,1,""],ticker_pool_class:[261,4,1,""]},"evennia.scripts.tickerhandler.TickerPool":{__init__:[261,3,1,""],add:[261,3,1,""],remove:[261,3,1,""],stop:[261,3,1,""],ticker_class:[261,4,1,""]},"evennia.server":{amp_client:[264,0,0,"-"],connection_wizard:[265,0,0,"-"],deprecations:[266,0,0,"-"],evennia_launcher:[267,0,0,"-"],game_index_client:[268,0,0,"-"],initial_setup:[271,0,0,"-"],inputfuncs:[272,0,0,"-"],manager:[273,0,0,"-"],models:[274,0,0,"-"],portal:[275,0,0,"-"],profiling:[297,0,0,"-"],server:[305,0,0,"-"],serversession:[306,0,0,"-"],session:[307,0,0,"-"],sessionhandler:[308,0,0,"-"],signals:[309,0,0,"-"],throttle:[310,0,0,"-"],validators:[311,0,0,"-"],webserver:[312,0,0,"-"]},"evennia.server.amp_client":{AMPClientFactory:[264,1,1,""],AMPServerClientProtocol:[264,1,1,""]},"evennia.server.amp_client.AMPClientFactory":{__init__:[264,3,1,""],buildProtocol:[264,3,1,""],clientConnectionFailed:[264,3,1,""],clientConnectionLost:[264,3,1,""],factor:[264,4,1,""],initialDelay:[264,4,1,""],maxDelay:[264,4,1,""],noisy:[264,4,1,""],startedConnecting:[264,3,1,""]},"evennia.server.amp_client.AMPServerClientProtocol":{connectionMade:[264,3,1,""],data_to_portal:[264,3,1,""],send_AdminServer2Portal:[264,3,1,""],send_MsgServer2Portal:[264,3,1,""],server_receive_adminportal2server:[264,3,1,""],server_receive_msgportal2server:[264,3,1,""],server_receive_status:[264,3,1,""]},"evennia.server.connection_wizard":{ConnectionWizard:[265,1,1,""],node_game_index_fields:[265,5,1,""],node_game_index_start:[265,5,1,""],node_mssp_start:[265,5,1,""],node_start:[265,5,1,""],node_view_and_apply_settings:[265,5,1,""]},"evennia.server.connection_wizard.ConnectionWizard":{__init__:[265,3,1,""],ask_choice:[265,3,1,""],ask_continue:[265,3,1,""],ask_input:[265,3,1,""],ask_node:[265,3,1,""],ask_yesno:[265,3,1,""],display:[265,3,1,""]},"evennia.server.deprecations":{check_errors:[266,5,1,""],check_warnings:[266,5,1,""]},"evennia.server.evennia_launcher":{AMPLauncherProtocol:[267,1,1,""],MsgLauncher2Portal:[267,1,1,""],MsgStatus:[267,1,1,""],check_database:[267,5,1,""],check_main_evennia_dependencies:[267,5,1,""],collectstatic:[267,5,1,""],create_game_directory:[267,5,1,""],create_secret_key:[267,5,1,""],create_settings_file:[267,5,1,""],create_superuser:[267,5,1,""],del_pid:[267,5,1,""],error_check_python_modules:[267,5,1,""],evennia_version:[267,5,1,""],get_pid:[267,5,1,""],getenv:[267,5,1,""],init_game_directory:[267,5,1,""],kill:[267,5,1,""],list_settings:[267,5,1,""],main:[267,5,1,""],query_info:[267,5,1,""],query_status:[267,5,1,""],reboot_evennia:[267,5,1,""],reload_evennia:[267,5,1,""],run_connect_wizard:[267,5,1,""],run_dummyrunner:[267,5,1,""],run_menu:[267,5,1,""],send_instruction:[267,5,1,""],set_gamedir:[267,5,1,""],show_version_info:[267,5,1,""],start_evennia:[267,5,1,""],start_only_server:[267,5,1,""],start_portal_interactive:[267,5,1,""],start_server_interactive:[267,5,1,""],stop_evennia:[267,5,1,""],stop_server_only:[267,5,1,""],tail_log_files:[267,5,1,""],wait_for_status:[267,5,1,""],wait_for_status_reply:[267,5,1,""]},"evennia.server.evennia_launcher.AMPLauncherProtocol":{__init__:[267,3,1,""],receive_status_from_portal:[267,3,1,""],wait_for_status:[267,3,1,""]},"evennia.server.evennia_launcher.MsgLauncher2Portal":{allErrors:[267,4,1,""],arguments:[267,4,1,""],commandName:[267,4,1,""],errors:[267,4,1,""],key:[267,4,1,""],response:[267,4,1,""],reverseErrors:[267,4,1,""]},"evennia.server.evennia_launcher.MsgStatus":{allErrors:[267,4,1,""],arguments:[267,4,1,""],commandName:[267,4,1,""],errors:[267,4,1,""],key:[267,4,1,""],response:[267,4,1,""],reverseErrors:[267,4,1,""]},"evennia.server.game_index_client":{client:[269,0,0,"-"],service:[270,0,0,"-"]},"evennia.server.game_index_client.client":{EvenniaGameIndexClient:[269,1,1,""],QuietHTTP11ClientFactory:[269,1,1,""],SimpleResponseReceiver:[269,1,1,""],StringProducer:[269,1,1,""]},"evennia.server.game_index_client.client.EvenniaGameIndexClient":{__init__:[269,3,1,""],handle_egd_response:[269,3,1,""],send_game_details:[269,3,1,""]},"evennia.server.game_index_client.client.QuietHTTP11ClientFactory":{noisy:[269,4,1,""]},"evennia.server.game_index_client.client.SimpleResponseReceiver":{__init__:[269,3,1,""],connectionLost:[269,3,1,""],dataReceived:[269,3,1,""]},"evennia.server.game_index_client.client.StringProducer":{__init__:[269,3,1,""],pauseProducing:[269,3,1,""],startProducing:[269,3,1,""],stopProducing:[269,3,1,""]},"evennia.server.game_index_client.service":{EvenniaGameIndexService:[270,1,1,""]},"evennia.server.game_index_client.service.EvenniaGameIndexService":{__init__:[270,3,1,""],name:[270,4,1,""],startService:[270,3,1,""],stopService:[270,3,1,""]},"evennia.server.initial_setup":{at_initial_setup:[271,5,1,""],collectstatic:[271,5,1,""],create_channels:[271,5,1,""],create_objects:[271,5,1,""],get_god_account:[271,5,1,""],handle_setup:[271,5,1,""],reset_server:[271,5,1,""]},"evennia.server.inputfuncs":{"default":[272,5,1,""],bot_data_in:[272,5,1,""],client_options:[272,5,1,""],echo:[272,5,1,""],external_discord_hello:[272,5,1,""],get_client_options:[272,5,1,""],get_inputfuncs:[272,5,1,""],get_value:[272,5,1,""],hello:[272,5,1,""],login:[272,5,1,""],monitor:[272,5,1,""],monitored:[272,5,1,""],msdp_list:[272,5,1,""],msdp_report:[272,5,1,""],msdp_send:[272,5,1,""],msdp_unreport:[272,5,1,""],repeat:[272,5,1,""],supports_set:[272,5,1,""],text:[272,5,1,""],unmonitor:[272,5,1,""],unrepeat:[272,5,1,""],webclient_options:[272,5,1,""]},"evennia.server.manager":{ServerConfigManager:[273,1,1,""]},"evennia.server.manager.ServerConfigManager":{conf:[273,3,1,""]},"evennia.server.models":{ServerConfig:[274,1,1,""]},"evennia.server.models.ServerConfig":{DoesNotExist:[274,2,1,""],MultipleObjectsReturned:[274,2,1,""],db_key:[274,4,1,""],db_value:[274,4,1,""],id:[274,4,1,""],key:[274,3,1,""],objects:[274,4,1,""],path:[274,4,1,""],store:[274,3,1,""],typename:[274,4,1,""],value:[274,3,1,""]},"evennia.server.portal":{amp:[276,0,0,"-"],amp_server:[277,0,0,"-"],grapevine:[278,0,0,"-"],irc:[279,0,0,"-"],mccp:[280,0,0,"-"],mssp:[281,0,0,"-"],mxp:[282,0,0,"-"],naws:[283,0,0,"-"],portal:[284,0,0,"-"],portalsessionhandler:[285,0,0,"-"],rss:[286,0,0,"-"],ssh:[287,0,0,"-"],ssl:[288,0,0,"-"],suppress_ga:[289,0,0,"-"],telnet:[290,0,0,"-"],telnet_oob:[291,0,0,"-"],telnet_ssl:[292,0,0,"-"],tests:[293,0,0,"-"],ttype:[294,0,0,"-"],webclient:[295,0,0,"-"],webclient_ajax:[296,0,0,"-"]},"evennia.server.portal.amp":{AMPMultiConnectionProtocol:[276,1,1,""],AdminPortal2Server:[276,1,1,""],AdminServer2Portal:[276,1,1,""],Compressed:[276,1,1,""],FunctionCall:[276,1,1,""],MsgLauncher2Portal:[276,1,1,""],MsgPortal2Server:[276,1,1,""],MsgServer2Portal:[276,1,1,""],MsgStatus:[276,1,1,""],dumps:[276,5,1,""],loads:[276,5,1,""]},"evennia.server.portal.amp.AMPMultiConnectionProtocol":{__init__:[276,3,1,""],broadcast:[276,3,1,""],connectionLost:[276,3,1,""],connectionMade:[276,3,1,""],dataReceived:[276,3,1,""],data_in:[276,3,1,""],errback:[276,3,1,""],makeConnection:[276,3,1,""],receive_functioncall:[276,3,1,""],send_FunctionCall:[276,3,1,""]},"evennia.server.portal.amp.AdminPortal2Server":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.AdminServer2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.Compressed":{fromBox:[276,3,1,""],fromString:[276,3,1,""],toBox:[276,3,1,""],toString:[276,3,1,""]},"evennia.server.portal.amp.FunctionCall":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgLauncher2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgPortal2Server":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgServer2Portal":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp.MsgStatus":{allErrors:[276,4,1,""],arguments:[276,4,1,""],commandName:[276,4,1,""],errors:[276,4,1,""],key:[276,4,1,""],response:[276,4,1,""],reverseErrors:[276,4,1,""]},"evennia.server.portal.amp_server":{AMPServerFactory:[277,1,1,""],AMPServerProtocol:[277,1,1,""],getenv:[277,5,1,""]},"evennia.server.portal.amp_server.AMPServerFactory":{__init__:[277,3,1,""],buildProtocol:[277,3,1,""],logPrefix:[277,3,1,""],noisy:[277,4,1,""]},"evennia.server.portal.amp_server.AMPServerProtocol":{connectionLost:[277,3,1,""],data_to_server:[277,3,1,""],get_status:[277,3,1,""],portal_receive_adminserver2portal:[277,3,1,""],portal_receive_launcher2portal:[277,3,1,""],portal_receive_server2portal:[277,3,1,""],portal_receive_status:[277,3,1,""],send_AdminPortal2Server:[277,3,1,""],send_MsgPortal2Server:[277,3,1,""],send_Status2Launcher:[277,3,1,""],start_server:[277,3,1,""],stop_server:[277,3,1,""],wait_for_disconnect:[277,3,1,""],wait_for_server_connect:[277,3,1,""]},"evennia.server.portal.grapevine":{GrapevineClient:[278,1,1,""],RestartingWebsocketServerFactory:[278,1,1,""]},"evennia.server.portal.grapevine.GrapevineClient":{__init__:[278,3,1,""],at_login:[278,3,1,""],data_in:[278,3,1,""],disconnect:[278,3,1,""],onClose:[278,3,1,""],onMessage:[278,3,1,""],onOpen:[278,3,1,""],send_authenticate:[278,3,1,""],send_channel:[278,3,1,""],send_default:[278,3,1,""],send_heartbeat:[278,3,1,""],send_subscribe:[278,3,1,""],send_unsubscribe:[278,3,1,""]},"evennia.server.portal.grapevine.RestartingWebsocketServerFactory":{__init__:[278,3,1,""],buildProtocol:[278,3,1,""],clientConnectionFailed:[278,3,1,""],clientConnectionLost:[278,3,1,""],factor:[278,4,1,""],initialDelay:[278,4,1,""],maxDelay:[278,4,1,""],reconnect:[278,3,1,""],start:[278,3,1,""],startedConnecting:[278,3,1,""]},"evennia.server.portal.irc":{IRCBot:[279,1,1,""],IRCBotFactory:[279,1,1,""],parse_ansi_to_irc:[279,5,1,""],parse_irc_to_ansi:[279,5,1,""]},"evennia.server.portal.irc.IRCBot":{action:[279,3,1,""],at_login:[279,3,1,""],channel:[279,4,1,""],data_in:[279,3,1,""],disconnect:[279,3,1,""],factory:[279,4,1,""],get_nicklist:[279,3,1,""],irc_RPL_ENDOFNAMES:[279,3,1,""],irc_RPL_NAMREPLY:[279,3,1,""],lineRate:[279,4,1,""],logger:[279,4,1,""],nickname:[279,4,1,""],pong:[279,3,1,""],privmsg:[279,3,1,""],send_channel:[279,3,1,""],send_default:[279,3,1,""],send_ping:[279,3,1,""],send_privmsg:[279,3,1,""],send_reconnect:[279,3,1,""],send_request_nicklist:[279,3,1,""],signedOn:[279,3,1,""],sourceURL:[279,4,1,""]},"evennia.server.portal.irc.IRCBotFactory":{__init__:[279,3,1,""],buildProtocol:[279,3,1,""],clientConnectionFailed:[279,3,1,""],clientConnectionLost:[279,3,1,""],factor:[279,4,1,""],initialDelay:[279,4,1,""],maxDelay:[279,4,1,""],reconnect:[279,3,1,""],start:[279,3,1,""],startedConnecting:[279,3,1,""]},"evennia.server.portal.mccp":{Mccp:[280,1,1,""],mccp_compress:[280,5,1,""]},"evennia.server.portal.mccp.Mccp":{__init__:[280,3,1,""],do_mccp:[280,3,1,""],no_mccp:[280,3,1,""]},"evennia.server.portal.mssp":{Mssp:[281,1,1,""]},"evennia.server.portal.mssp.Mssp":{__init__:[281,3,1,""],do_mssp:[281,3,1,""],get_player_count:[281,3,1,""],get_uptime:[281,3,1,""],no_mssp:[281,3,1,""]},"evennia.server.portal.mxp":{Mxp:[282,1,1,""],mxp_parse:[282,5,1,""]},"evennia.server.portal.mxp.Mxp":{__init__:[282,3,1,""],do_mxp:[282,3,1,""],no_mxp:[282,3,1,""]},"evennia.server.portal.naws":{Naws:[283,1,1,""]},"evennia.server.portal.naws.Naws":{__init__:[283,3,1,""],do_naws:[283,3,1,""],negotiate_sizes:[283,3,1,""],no_naws:[283,3,1,""]},"evennia.server.portal.portal":{Portal:[284,1,1,""],Websocket:[284,1,1,""]},"evennia.server.portal.portal.Portal":{__init__:[284,3,1,""],get_info_dict:[284,3,1,""],shutdown:[284,3,1,""]},"evennia.server.portal.portalsessionhandler":{PortalSessionHandler:[285,1,1,""]},"evennia.server.portal.portalsessionhandler.PortalSessionHandler":{__init__:[285,3,1,""],announce_all:[285,3,1,""],at_server_connection:[285,3,1,""],connect:[285,3,1,""],count_loggedin:[285,3,1,""],data_in:[285,3,1,""],data_out:[285,3,1,""],disconnect:[285,3,1,""],disconnect_all:[285,3,1,""],generate_sessid:[285,3,1,""],server_connect:[285,3,1,""],server_disconnect:[285,3,1,""],server_disconnect_all:[285,3,1,""],server_logged_in:[285,3,1,""],server_session_sync:[285,3,1,""],sessions_from_csessid:[285,3,1,""],sync:[285,3,1,""]},"evennia.server.portal.rss":{RSSBotFactory:[286,1,1,""],RSSReader:[286,1,1,""]},"evennia.server.portal.rss.RSSBotFactory":{__init__:[286,3,1,""],start:[286,3,1,""]},"evennia.server.portal.rss.RSSReader":{__init__:[286,3,1,""],data_in:[286,3,1,""],disconnect:[286,3,1,""],get_new:[286,3,1,""],update:[286,3,1,""]},"evennia.server.portal.ssh":{AccountDBPasswordChecker:[287,1,1,""],ExtraInfoAuthServer:[287,1,1,""],PassAvatarIdTerminalRealm:[287,1,1,""],SSHServerFactory:[287,1,1,""],SshProtocol:[287,1,1,""],TerminalSessionTransport_getPeer:[287,1,1,""],getKeyPair:[287,5,1,""],makeFactory:[287,5,1,""]},"evennia.server.portal.ssh.AccountDBPasswordChecker":{__init__:[287,3,1,""],credentialInterfaces:[287,4,1,""],noisy:[287,4,1,""],requestAvatarId:[287,3,1,""]},"evennia.server.portal.ssh.ExtraInfoAuthServer":{auth_password:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssh.PassAvatarIdTerminalRealm":{noisy:[287,4,1,""]},"evennia.server.portal.ssh.SSHServerFactory":{logPrefix:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssh.SshProtocol":{__init__:[287,3,1,""],at_login:[287,3,1,""],connectionLost:[287,3,1,""],connectionMade:[287,3,1,""],data_out:[287,3,1,""],disconnect:[287,3,1,""],getClientAddress:[287,3,1,""],handle_EOF:[287,3,1,""],handle_FF:[287,3,1,""],handle_INT:[287,3,1,""],handle_QUIT:[287,3,1,""],lineReceived:[287,3,1,""],noisy:[287,4,1,""],sendLine:[287,3,1,""],send_default:[287,3,1,""],send_prompt:[287,3,1,""],send_text:[287,3,1,""],terminalSize:[287,3,1,""]},"evennia.server.portal.ssh.TerminalSessionTransport_getPeer":{__init__:[287,3,1,""],noisy:[287,4,1,""]},"evennia.server.portal.ssl":{SSLProtocol:[288,1,1,""],getSSLContext:[288,5,1,""],verify_SSL_key_and_cert:[288,5,1,""]},"evennia.server.portal.ssl.SSLProtocol":{__init__:[288,3,1,""]},"evennia.server.portal.suppress_ga":{SuppressGA:[289,1,1,""]},"evennia.server.portal.suppress_ga.SuppressGA":{__init__:[289,3,1,""],will_suppress_ga:[289,3,1,""],wont_suppress_ga:[289,3,1,""]},"evennia.server.portal.telnet":{TelnetProtocol:[290,1,1,""],TelnetServerFactory:[290,1,1,""]},"evennia.server.portal.telnet.TelnetProtocol":{__init__:[290,3,1,""],applicationDataReceived:[290,3,1,""],at_login:[290,3,1,""],connectionLost:[290,3,1,""],connectionMade:[290,3,1,""],dataReceived:[290,3,1,""],data_in:[290,3,1,""],data_out:[290,3,1,""],disableLocal:[290,3,1,""],disableRemote:[290,3,1,""],disconnect:[290,3,1,""],enableLocal:[290,3,1,""],enableRemote:[290,3,1,""],handshake_done:[290,3,1,""],sendLine:[290,3,1,""],send_default:[290,3,1,""],send_prompt:[290,3,1,""],send_text:[290,3,1,""],toggle_nop_keepalive:[290,3,1,""]},"evennia.server.portal.telnet.TelnetServerFactory":{logPrefix:[290,3,1,""],noisy:[290,4,1,""]},"evennia.server.portal.telnet_oob":{TelnetOOB:[291,1,1,""]},"evennia.server.portal.telnet_oob.TelnetOOB":{__init__:[291,3,1,""],data_out:[291,3,1,""],decode_gmcp:[291,3,1,""],decode_msdp:[291,3,1,""],do_gmcp:[291,3,1,""],do_msdp:[291,3,1,""],encode_gmcp:[291,3,1,""],encode_msdp:[291,3,1,""],no_gmcp:[291,3,1,""],no_msdp:[291,3,1,""]},"evennia.server.portal.telnet_ssl":{SSLProtocol:[292,1,1,""],getSSLContext:[292,5,1,""],verify_or_create_SSL_key_and_cert:[292,5,1,""]},"evennia.server.portal.telnet_ssl.SSLProtocol":{__init__:[292,3,1,""]},"evennia.server.portal.tests":{TestAMPServer:[293,1,1,""],TestIRC:[293,1,1,""],TestTelnet:[293,1,1,""],TestWebSocket:[293,1,1,""]},"evennia.server.portal.tests.TestAMPServer":{setUp:[293,3,1,""],test_amp_in:[293,3,1,""],test_amp_out:[293,3,1,""],test_large_msg:[293,3,1,""]},"evennia.server.portal.tests.TestIRC":{test_bold:[293,3,1,""],test_colors:[293,3,1,""],test_identity:[293,3,1,""],test_italic:[293,3,1,""],test_plain_ansi:[293,3,1,""]},"evennia.server.portal.tests.TestTelnet":{setUp:[293,3,1,""],test_mudlet_ttype:[293,3,1,""]},"evennia.server.portal.tests.TestWebSocket":{setUp:[293,3,1,""],tearDown:[293,3,1,""],test_data_in:[293,3,1,""],test_data_out:[293,3,1,""]},"evennia.server.portal.ttype":{Ttype:[294,1,1,""]},"evennia.server.portal.ttype.Ttype":{__init__:[294,3,1,""],will_ttype:[294,3,1,""],wont_ttype:[294,3,1,""]},"evennia.server.portal.webclient":{WebSocketClient:[295,1,1,""]},"evennia.server.portal.webclient.WebSocketClient":{__init__:[295,3,1,""],at_login:[295,3,1,""],data_in:[295,3,1,""],disconnect:[295,3,1,""],get_client_session:[295,3,1,""],nonce:[295,4,1,""],onClose:[295,3,1,""],onMessage:[295,3,1,""],onOpen:[295,3,1,""],sendLine:[295,3,1,""],send_default:[295,3,1,""],send_prompt:[295,3,1,""],send_text:[295,3,1,""]},"evennia.server.portal.webclient_ajax":{AjaxWebClient:[296,1,1,""],AjaxWebClientSession:[296,1,1,""],LazyEncoder:[296,1,1,""],jsonify:[296,5,1,""]},"evennia.server.portal.webclient_ajax.AjaxWebClient":{__init__:[296,3,1,""],allowedMethods:[296,4,1,""],at_login:[296,3,1,""],client_disconnect:[296,3,1,""],get_client_sessid:[296,3,1,""],isLeaf:[296,4,1,""],lineSend:[296,3,1,""],mode_close:[296,3,1,""],mode_init:[296,3,1,""],mode_input:[296,3,1,""],mode_keepalive:[296,3,1,""],mode_receive:[296,3,1,""],render_POST:[296,3,1,""]},"evennia.server.portal.webclient_ajax.AjaxWebClientSession":{__init__:[296,3,1,""],at_login:[296,3,1,""],data_in:[296,3,1,""],data_out:[296,3,1,""],disconnect:[296,3,1,""],get_client_session:[296,3,1,""],send_default:[296,3,1,""],send_prompt:[296,3,1,""],send_text:[296,3,1,""]},"evennia.server.portal.webclient_ajax.LazyEncoder":{"default":[296,3,1,""]},"evennia.server.profiling":{dummyrunner:[298,0,0,"-"],dummyrunner_settings:[299,0,0,"-"],memplot:[300,0,0,"-"],settings_mixin:[301,0,0,"-"],test_queries:[302,0,0,"-"],tests:[303,0,0,"-"],timetrace:[304,0,0,"-"]},"evennia.server.profiling.dummyrunner":{DummyClient:[298,1,1,""],DummyFactory:[298,1,1,""],gidcounter:[298,5,1,""],idcounter:[298,5,1,""],makeiter:[298,5,1,""],start_all_dummy_clients:[298,5,1,""]},"evennia.server.profiling.dummyrunner.DummyClient":{connectionLost:[298,3,1,""],connectionMade:[298,3,1,""],counter:[298,3,1,""],dataReceived:[298,3,1,""],error:[298,3,1,""],logout:[298,3,1,""],step:[298,3,1,""]},"evennia.server.profiling.dummyrunner.DummyFactory":{__init__:[298,3,1,""],protocol:[298,4,1,""]},"evennia.server.profiling.dummyrunner_settings":{c_creates_button:[299,5,1,""],c_creates_obj:[299,5,1,""],c_digs:[299,5,1,""],c_examines:[299,5,1,""],c_help:[299,5,1,""],c_idles:[299,5,1,""],c_login:[299,5,1,""],c_login_nodig:[299,5,1,""],c_logout:[299,5,1,""],c_looks:[299,5,1,""],c_moves:[299,5,1,""],c_moves_n:[299,5,1,""],c_moves_s:[299,5,1,""],c_socialize:[299,5,1,""]},"evennia.server.profiling.memplot":{Memplot:[300,1,1,""]},"evennia.server.profiling.memplot.Memplot":{DoesNotExist:[300,2,1,""],MultipleObjectsReturned:[300,2,1,""],at_repeat:[300,3,1,""],at_script_creation:[300,3,1,""],path:[300,4,1,""],typename:[300,4,1,""]},"evennia.server.profiling.test_queries":{count_queries:[302,5,1,""]},"evennia.server.profiling.tests":{TestDummyrunnerSettings:[303,1,1,""],TestMemPlot:[303,1,1,""]},"evennia.server.profiling.tests.TestDummyrunnerSettings":{clear_client_lists:[303,3,1,""],perception_method_tests:[303,3,1,""],setUp:[303,3,1,""],test_c_creates_button:[303,3,1,""],test_c_creates_obj:[303,3,1,""],test_c_digs:[303,3,1,""],test_c_examines:[303,3,1,""],test_c_help:[303,3,1,""],test_c_login:[303,3,1,""],test_c_login_no_dig:[303,3,1,""],test_c_logout:[303,3,1,""],test_c_looks:[303,3,1,""],test_c_move_n:[303,3,1,""],test_c_move_s:[303,3,1,""],test_c_moves:[303,3,1,""],test_c_socialize:[303,3,1,""],test_idles:[303,3,1,""]},"evennia.server.profiling.tests.TestMemPlot":{test_memplot:[303,3,1,""]},"evennia.server.profiling.timetrace":{timetrace:[304,5,1,""]},"evennia.server.server":{Evennia:[305,1,1,""]},"evennia.server.server.Evennia":{__init__:[305,3,1,""],at_post_portal_sync:[305,3,1,""],at_server_cold_start:[305,3,1,""],at_server_cold_stop:[305,3,1,""],at_server_reload_start:[305,3,1,""],at_server_reload_stop:[305,3,1,""],at_server_start:[305,3,1,""],at_server_stop:[305,3,1,""],get_info_dict:[305,3,1,""],run_init_hooks:[305,3,1,""],run_initial_setup:[305,3,1,""],shutdown:[305,3,1,""],sqlite3_prep:[305,3,1,""],update_defaults:[305,3,1,""]},"evennia.server.serversession":{ServerSession:[306,1,1,""]},"evennia.server.serversession.ServerSession":{__init__:[306,3,1,""],access:[306,3,1,""],at_cmdset_get:[306,3,1,""],at_disconnect:[306,3,1,""],at_login:[306,3,1,""],at_sync:[306,3,1,""],attributes:[306,4,1,""],cmdset_storage:[306,3,1,""],data_in:[306,3,1,""],data_out:[306,3,1,""],db:[306,3,1,""],execute_cmd:[306,3,1,""],get_account:[306,3,1,""],get_character:[306,3,1,""],get_client_size:[306,3,1,""],get_puppet:[306,3,1,""],get_puppet_or_account:[306,3,1,""],id:[306,3,1,""],log:[306,3,1,""],msg:[306,3,1,""],nattributes:[306,4,1,""],ndb:[306,3,1,""],ndb_del:[306,3,1,""],ndb_get:[306,3,1,""],ndb_set:[306,3,1,""],update_flags:[306,3,1,""],update_session_counters:[306,3,1,""]},"evennia.server.session":{Session:[307,1,1,""]},"evennia.server.session.Session":{at_sync:[307,3,1,""],data_in:[307,3,1,""],data_out:[307,3,1,""],disconnect:[307,3,1,""],get_sync_data:[307,3,1,""],init_session:[307,3,1,""],load_sync_data:[307,3,1,""]},"evennia.server.sessionhandler":{DummySession:[308,1,1,""],ServerSessionHandler:[308,1,1,""],SessionHandler:[308,1,1,""],delayed_import:[308,5,1,""]},"evennia.server.sessionhandler.DummySession":{sessid:[308,4,1,""]},"evennia.server.sessionhandler.ServerSessionHandler":{__init__:[308,3,1,""],account_count:[308,3,1,""],all_connected_accounts:[308,3,1,""],all_sessions_portal_sync:[308,3,1,""],announce_all:[308,3,1,""],call_inputfuncs:[308,3,1,""],data_in:[308,3,1,""],data_out:[308,3,1,""],disconnect:[308,3,1,""],disconnect_all_sessions:[308,3,1,""],disconnect_duplicate_sessions:[308,3,1,""],get_inputfuncs:[308,3,1,""],login:[308,3,1,""],portal_connect:[308,3,1,""],portal_disconnect:[308,3,1,""],portal_disconnect_all:[308,3,1,""],portal_reset_server:[308,3,1,""],portal_restart_server:[308,3,1,""],portal_session_sync:[308,3,1,""],portal_sessions_sync:[308,3,1,""],portal_shutdown:[308,3,1,""],session_from_account:[308,3,1,""],session_from_sessid:[308,3,1,""],session_portal_partial_sync:[308,3,1,""],session_portal_sync:[308,3,1,""],sessions_from_account:[308,3,1,""],sessions_from_character:[308,3,1,""],sessions_from_csessid:[308,3,1,""],sessions_from_puppet:[308,3,1,""],start_bot_session:[308,3,1,""],validate_sessions:[308,3,1,""]},"evennia.server.sessionhandler.SessionHandler":{clean_senddata:[308,3,1,""],get:[308,3,1,""],get_all_sync_data:[308,3,1,""],get_sessions:[308,3,1,""]},"evennia.server.throttle":{Throttle:[310,1,1,""]},"evennia.server.throttle.Throttle":{__init__:[310,3,1,""],check:[310,3,1,""],error_msg:[310,4,1,""],get:[310,3,1,""],get_cache_key:[310,3,1,""],record_ip:[310,3,1,""],remove:[310,3,1,""],touch:[310,3,1,""],unrecord_ip:[310,3,1,""],update:[310,3,1,""]},"evennia.server.validators":{EvenniaPasswordValidator:[311,1,1,""],EvenniaUsernameAvailabilityValidator:[311,1,1,""]},"evennia.server.validators.EvenniaPasswordValidator":{__init__:[311,3,1,""],get_help_text:[311,3,1,""],validate:[311,3,1,""]},"evennia.server.webserver":{DjangoWebRoot:[312,1,1,""],EvenniaReverseProxyResource:[312,1,1,""],HTTPChannelWithXForwardedFor:[312,1,1,""],LockableThreadPool:[312,1,1,""],PrivateStaticRoot:[312,1,1,""],WSGIWebServer:[312,1,1,""],Website:[312,1,1,""]},"evennia.server.webserver.DjangoWebRoot":{__init__:[312,3,1,""],empty_threadpool:[312,3,1,""],getChild:[312,3,1,""]},"evennia.server.webserver.EvenniaReverseProxyResource":{getChild:[312,3,1,""],render:[312,3,1,""]},"evennia.server.webserver.HTTPChannelWithXForwardedFor":{allHeadersReceived:[312,3,1,""]},"evennia.server.webserver.LockableThreadPool":{__init__:[312,3,1,""],callInThread:[312,3,1,""],lock:[312,3,1,""]},"evennia.server.webserver.PrivateStaticRoot":{directoryListing:[312,3,1,""]},"evennia.server.webserver.WSGIWebServer":{__init__:[312,3,1,""],startService:[312,3,1,""],stopService:[312,3,1,""]},"evennia.server.webserver.Website":{log:[312,3,1,""],logPrefix:[312,3,1,""],noisy:[312,4,1,""]},"evennia.typeclasses":{attributes:[316,0,0,"-"],managers:[317,0,0,"-"],models:[318,0,0,"-"],tags:[319,0,0,"-"]},"evennia.typeclasses.attributes":{Attribute:[316,1,1,""],AttributeHandler:[316,1,1,""],DbHolder:[316,1,1,""],IAttribute:[316,1,1,""],IAttributeBackend:[316,1,1,""],InMemoryAttribute:[316,1,1,""],InMemoryAttributeBackend:[316,1,1,""],ModelAttributeBackend:[316,1,1,""],NickHandler:[316,1,1,""],NickTemplateInvalid:[316,2,1,""],initialize_nick_templates:[316,5,1,""],parse_nick_template:[316,5,1,""]},"evennia.typeclasses.attributes.Attribute":{DoesNotExist:[316,2,1,""],MultipleObjectsReturned:[316,2,1,""],accountdb_set:[316,4,1,""],attrtype:[316,3,1,""],category:[316,3,1,""],channeldb_set:[316,4,1,""],date_created:[316,3,1,""],db_attrtype:[316,4,1,""],db_category:[316,4,1,""],db_date_created:[316,4,1,""],db_key:[316,4,1,""],db_lock_storage:[316,4,1,""],db_model:[316,4,1,""],db_strvalue:[316,4,1,""],db_value:[316,4,1,""],get_next_by_db_date_created:[316,3,1,""],get_previous_by_db_date_created:[316,3,1,""],id:[316,4,1,""],key:[316,3,1,""],lock_storage:[316,3,1,""],model:[316,3,1,""],objectdb_set:[316,4,1,""],path:[316,4,1,""],scriptdb_set:[316,4,1,""],strvalue:[316,3,1,""],typename:[316,4,1,""],value:[316,3,1,""]},"evennia.typeclasses.attributes.AttributeHandler":{__init__:[316,3,1,""],add:[316,3,1,""],all:[316,3,1,""],batch_add:[316,3,1,""],clear:[316,3,1,""],get:[316,3,1,""],has:[316,3,1,""],remove:[316,3,1,""],reset_cache:[316,3,1,""]},"evennia.typeclasses.attributes.DbHolder":{__init__:[316,3,1,""],all:[316,3,1,""],get_all:[316,3,1,""]},"evennia.typeclasses.attributes.IAttribute":{access:[316,3,1,""],attrtype:[316,3,1,""],category:[316,3,1,""],date_created:[316,3,1,""],key:[316,3,1,""],lock_storage:[316,3,1,""],locks:[316,4,1,""],model:[316,3,1,""],strvalue:[316,3,1,""]},"evennia.typeclasses.attributes.IAttributeBackend":{__init__:[316,3,1,""],batch_add:[316,3,1,""],clear_attributes:[316,3,1,""],create_attribute:[316,3,1,""],delete_attribute:[316,3,1,""],do_batch_delete:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],get:[316,3,1,""],get_all_attributes:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""],reset_cache:[316,3,1,""],update_attribute:[316,3,1,""]},"evennia.typeclasses.attributes.InMemoryAttribute":{__init__:[316,3,1,""],value:[316,3,1,""]},"evennia.typeclasses.attributes.InMemoryAttributeBackend":{__init__:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""]},"evennia.typeclasses.attributes.ModelAttributeBackend":{__init__:[316,3,1,""],do_batch_finish:[316,3,1,""],do_batch_update_attribute:[316,3,1,""],do_create_attribute:[316,3,1,""],do_delete_attribute:[316,3,1,""],do_update_attribute:[316,3,1,""],query_all:[316,3,1,""],query_category:[316,3,1,""],query_key:[316,3,1,""]},"evennia.typeclasses.attributes.NickHandler":{__init__:[316,3,1,""],add:[316,3,1,""],get:[316,3,1,""],has:[316,3,1,""],nickreplace:[316,3,1,""],remove:[316,3,1,""]},"evennia.typeclasses.managers":{TypedObjectManager:[317,1,1,""]},"evennia.typeclasses.managers.TypedObjectManager":{create_tag:[317,3,1,""],dbref:[317,3,1,""],dbref_search:[317,3,1,""],get_alias:[317,3,1,""],get_attribute:[317,3,1,""],get_by_alias:[317,3,1,""],get_by_attribute:[317,3,1,""],get_by_nick:[317,3,1,""],get_by_permission:[317,3,1,""],get_by_tag:[317,3,1,""],get_dbref_range:[317,3,1,""],get_id:[317,3,1,""],get_nick:[317,3,1,""],get_permission:[317,3,1,""],get_tag:[317,3,1,""],get_typeclass_totals:[317,3,1,""],object_totals:[317,3,1,""],typeclass_search:[317,3,1,""]},"evennia.typeclasses.models":{TypedObject:[318,1,1,""]},"evennia.typeclasses.models.TypedObject":{"delete":[318,3,1,""],Meta:[318,1,1,""],__init__:[318,3,1,""],access:[318,3,1,""],aliases:[318,4,1,""],at_idmapper_flush:[318,3,1,""],at_rename:[318,3,1,""],attributes:[318,4,1,""],check_permstring:[318,3,1,""],date_created:[318,3,1,""],db:[318,3,1,""],db_attributes:[318,4,1,""],db_date_created:[318,4,1,""],db_key:[318,4,1,""],db_lock_storage:[318,4,1,""],db_tags:[318,4,1,""],db_typeclass_path:[318,4,1,""],dbid:[318,3,1,""],dbref:[318,3,1,""],get_absolute_url:[318,3,1,""],get_display_name:[318,3,1,""],get_extra_info:[318,3,1,""],get_next_by_db_date_created:[318,3,1,""],get_previous_by_db_date_created:[318,3,1,""],is_typeclass:[318,3,1,""],key:[318,3,1,""],lock_storage:[318,3,1,""],locks:[318,4,1,""],name:[318,3,1,""],nattributes:[318,4,1,""],ndb:[318,3,1,""],objects:[318,4,1,""],path:[318,4,1,""],permissions:[318,4,1,""],set_class_from_typeclass:[318,3,1,""],swap_typeclass:[318,3,1,""],tags:[318,4,1,""],typeclass_path:[318,3,1,""],typename:[318,4,1,""],web_get_admin_url:[318,3,1,""],web_get_create_url:[318,3,1,""],web_get_delete_url:[318,3,1,""],web_get_detail_url:[318,3,1,""],web_get_puppet_url:[318,3,1,""],web_get_update_url:[318,3,1,""]},"evennia.typeclasses.models.TypedObject.Meta":{"abstract":[318,4,1,""],ordering:[318,4,1,""],verbose_name:[318,4,1,""]},"evennia.typeclasses.tags":{AliasHandler:[319,1,1,""],PermissionHandler:[319,1,1,""],Tag:[319,1,1,""],TagHandler:[319,1,1,""]},"evennia.typeclasses.tags.Tag":{DoesNotExist:[319,2,1,""],MultipleObjectsReturned:[319,2,1,""],accountdb_set:[319,4,1,""],channeldb_set:[319,4,1,""],db_category:[319,4,1,""],db_data:[319,4,1,""],db_key:[319,4,1,""],db_model:[319,4,1,""],db_tagtype:[319,4,1,""],helpentry_set:[319,4,1,""],id:[319,4,1,""],msg_set:[319,4,1,""],objectdb_set:[319,4,1,""],objects:[319,4,1,""],scriptdb_set:[319,4,1,""]},"evennia.typeclasses.tags.TagHandler":{__init__:[319,3,1,""],add:[319,3,1,""],all:[319,3,1,""],batch_add:[319,3,1,""],clear:[319,3,1,""],get:[319,3,1,""],has:[319,3,1,""],remove:[319,3,1,""],reset_cache:[319,3,1,""]},"evennia.utils":{ansi:[321,0,0,"-"],batchprocessors:[322,0,0,"-"],containers:[323,0,0,"-"],create:[324,0,0,"-"],dbserialize:[325,0,0,"-"],eveditor:[326,0,0,"-"],evform:[327,0,0,"-"],evmenu:[328,0,0,"-"],evmore:[329,0,0,"-"],evtable:[330,0,0,"-"],gametime:[331,0,0,"-"],idmapper:[332,0,0,"-"],logger:[337,0,0,"-"],optionclasses:[338,0,0,"-"],optionhandler:[339,0,0,"-"],picklefield:[340,0,0,"-"],search:[341,0,0,"-"],test_resources:[342,0,0,"-"],text2html:[343,0,0,"-"],utils:[344,0,0,"-"],validatorfuncs:[345,0,0,"-"]},"evennia.utils.ansi":{ANSIMeta:[321,1,1,""],ANSIParser:[321,1,1,""],ANSIString:[321,1,1,""],parse_ansi:[321,5,1,""],raw:[321,5,1,""],strip_ansi:[321,5,1,""],strip_raw_ansi:[321,5,1,""]},"evennia.utils.ansi.ANSIMeta":{__init__:[321,3,1,""]},"evennia.utils.ansi.ANSIParser":{ansi_escapes:[321,4,1,""],ansi_map:[321,4,1,""],ansi_map_dict:[321,4,1,""],ansi_re:[321,4,1,""],ansi_regex:[321,4,1,""],ansi_sub:[321,4,1,""],ansi_xterm256_bright_bg_map:[321,4,1,""],ansi_xterm256_bright_bg_map_dict:[321,4,1,""],brightbg_sub:[321,4,1,""],mxp_re:[321,4,1,""],mxp_sub:[321,4,1,""],parse_ansi:[321,3,1,""],strip_mxp:[321,3,1,""],strip_raw_codes:[321,3,1,""],sub_ansi:[321,3,1,""],sub_brightbg:[321,3,1,""],sub_xterm256:[321,3,1,""],xterm256_bg:[321,4,1,""],xterm256_bg_sub:[321,4,1,""],xterm256_fg:[321,4,1,""],xterm256_fg_sub:[321,4,1,""],xterm256_gbg:[321,4,1,""],xterm256_gbg_sub:[321,4,1,""],xterm256_gfg:[321,4,1,""],xterm256_gfg_sub:[321,4,1,""]},"evennia.utils.ansi.ANSIString":{__init__:[321,3,1,""],capitalize:[321,3,1,""],center:[321,3,1,""],clean:[321,3,1,""],count:[321,3,1,""],decode:[321,3,1,""],encode:[321,3,1,""],endswith:[321,3,1,""],expandtabs:[321,3,1,""],find:[321,3,1,""],format:[321,3,1,""],index:[321,3,1,""],isalnum:[321,3,1,""],isalpha:[321,3,1,""],isdigit:[321,3,1,""],islower:[321,3,1,""],isspace:[321,3,1,""],istitle:[321,3,1,""],isupper:[321,3,1,""],join:[321,3,1,""],ljust:[321,3,1,""],lower:[321,3,1,""],lstrip:[321,3,1,""],partition:[321,3,1,""],raw:[321,3,1,""],re_format:[321,4,1,""],replace:[321,3,1,""],rfind:[321,3,1,""],rindex:[321,3,1,""],rjust:[321,3,1,""],rsplit:[321,3,1,""],rstrip:[321,3,1,""],split:[321,3,1,""],startswith:[321,3,1,""],strip:[321,3,1,""],swapcase:[321,3,1,""],translate:[321,3,1,""],upper:[321,3,1,""]},"evennia.utils.batchprocessors":{BatchCodeProcessor:[322,1,1,""],BatchCommandProcessor:[322,1,1,""],read_batchfile:[322,5,1,""],tb_filename:[322,5,1,""],tb_iter:[322,5,1,""]},"evennia.utils.batchprocessors.BatchCodeProcessor":{code_exec:[322,3,1,""],parse_file:[322,3,1,""]},"evennia.utils.batchprocessors.BatchCommandProcessor":{parse_file:[322,3,1,""]},"evennia.utils.containers":{Container:[323,1,1,""],GlobalScriptContainer:[323,1,1,""],OptionContainer:[323,1,1,""]},"evennia.utils.containers.Container":{__init__:[323,3,1,""],all:[323,3,1,""],get:[323,3,1,""],load_data:[323,3,1,""],storage_modules:[323,4,1,""]},"evennia.utils.containers.GlobalScriptContainer":{__init__:[323,3,1,""],all:[323,3,1,""],get:[323,3,1,""],load_data:[323,3,1,""],start:[323,3,1,""]},"evennia.utils.containers.OptionContainer":{storage_modules:[323,4,1,""]},"evennia.utils.create":{create_account:[324,5,1,""],create_channel:[324,5,1,""],create_help_entry:[324,5,1,""],create_message:[324,5,1,""],create_object:[324,5,1,""],create_script:[324,5,1,""]},"evennia.utils.dbserialize":{dbserialize:[325,5,1,""],dbunserialize:[325,5,1,""],do_pickle:[325,5,1,""],do_unpickle:[325,5,1,""],from_pickle:[325,5,1,""],to_pickle:[325,5,1,""]},"evennia.utils.eveditor":{CmdEditorBase:[326,1,1,""],CmdEditorGroup:[326,1,1,""],CmdLineInput:[326,1,1,""],CmdSaveYesNo:[326,1,1,""],EvEditor:[326,1,1,""],EvEditorCmdSet:[326,1,1,""],SaveYesNoCmdSet:[326,1,1,""]},"evennia.utils.eveditor.CmdEditorBase":{aliases:[326,4,1,""],editor:[326,4,1,""],help_category:[326,4,1,""],help_entry:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],locks:[326,4,1,""],parse:[326,3,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdEditorGroup":{aliases:[326,4,1,""],arg_regex:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdLineInput":{aliases:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.CmdSaveYesNo":{aliases:[326,4,1,""],func:[326,3,1,""],help_category:[326,4,1,""],help_cateogory:[326,4,1,""],key:[326,4,1,""],lock_storage:[326,4,1,""],locks:[326,4,1,""],search_index_entry:[326,4,1,""]},"evennia.utils.eveditor.EvEditor":{__init__:[326,3,1,""],decrease_indent:[326,3,1,""],deduce_indent:[326,3,1,""],display_buffer:[326,3,1,""],display_help:[326,3,1,""],get_buffer:[326,3,1,""],increase_indent:[326,3,1,""],load_buffer:[326,3,1,""],quit:[326,3,1,""],save_buffer:[326,3,1,""],swap_autoindent:[326,3,1,""],update_buffer:[326,3,1,""],update_undo:[326,3,1,""]},"evennia.utils.eveditor.EvEditorCmdSet":{at_cmdset_creation:[326,3,1,""],key:[326,4,1,""],mergetype:[326,4,1,""],path:[326,4,1,""]},"evennia.utils.eveditor.SaveYesNoCmdSet":{at_cmdset_creation:[326,3,1,""],key:[326,4,1,""],mergetype:[326,4,1,""],path:[326,4,1,""],priority:[326,4,1,""]},"evennia.utils.evform":{EvForm:[327,1,1,""]},"evennia.utils.evform.EvForm":{__init__:[327,3,1,""],map:[327,3,1,""],reload:[327,3,1,""]},"evennia.utils.evmenu":{CmdEvMenuNode:[328,1,1,""],CmdGetInput:[328,1,1,""],CmdYesNoQuestion:[328,1,1,""],EvMenu:[328,1,1,""],EvMenuCmdSet:[328,1,1,""],EvMenuError:[328,2,1,""],EvMenuGotoAbortMessage:[328,2,1,""],InputCmdSet:[328,1,1,""],YesNoQuestionCmdSet:[328,1,1,""],ask_yes_no:[328,5,1,""],get_input:[328,5,1,""],list_node:[328,5,1,""],parse_menu_template:[328,5,1,""],template2menu:[328,5,1,""]},"evennia.utils.evmenu.CmdEvMenuNode":{aliases:[328,4,1,""],auto_help_display_key:[328,4,1,""],func:[328,3,1,""],get_help:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],locks:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.CmdGetInput":{aliases:[328,4,1,""],func:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.CmdYesNoQuestion":{aliases:[328,4,1,""],arg_regex:[328,4,1,""],func:[328,3,1,""],help_category:[328,4,1,""],key:[328,4,1,""],lock_storage:[328,4,1,""],search_index_entry:[328,4,1,""]},"evennia.utils.evmenu.EvMenu":{"goto":[328,3,1,""],__init__:[328,3,1,""],close_menu:[328,3,1,""],display_helptext:[328,3,1,""],display_nodetext:[328,3,1,""],extract_goto_exec:[328,3,1,""],helptext_formatter:[328,3,1,""],msg:[328,3,1,""],node_border_char:[328,4,1,""],node_formatter:[328,3,1,""],nodetext_formatter:[328,3,1,""],options_formatter:[328,3,1,""],parse_input:[328,3,1,""],print_debug_info:[328,3,1,""],run_exec:[328,3,1,""],run_exec_then_goto:[328,3,1,""]},"evennia.utils.evmenu.EvMenuCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmenu.InputCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmenu.YesNoQuestionCmdSet":{at_cmdset_creation:[328,3,1,""],key:[328,4,1,""],mergetype:[328,4,1,""],no_channels:[328,4,1,""],no_exits:[328,4,1,""],no_objs:[328,4,1,""],path:[328,4,1,""],priority:[328,4,1,""]},"evennia.utils.evmore":{CmdMore:[329,1,1,""],CmdMoreLook:[329,1,1,""],CmdSetMore:[329,1,1,""],EvMore:[329,1,1,""],msg:[329,5,1,""],queryset_maxsize:[329,5,1,""]},"evennia.utils.evmore.CmdMore":{aliases:[329,4,1,""],auto_help:[329,4,1,""],func:[329,3,1,""],help_category:[329,4,1,""],key:[329,4,1,""],lock_storage:[329,4,1,""],search_index_entry:[329,4,1,""]},"evennia.utils.evmore.CmdMoreLook":{aliases:[329,4,1,""],auto_help:[329,4,1,""],func:[329,3,1,""],help_category:[329,4,1,""],key:[329,4,1,""],lock_storage:[329,4,1,""],search_index_entry:[329,4,1,""]},"evennia.utils.evmore.CmdSetMore":{at_cmdset_creation:[329,3,1,""],key:[329,4,1,""],path:[329,4,1,""],priority:[329,4,1,""]},"evennia.utils.evmore.EvMore":{__init__:[329,3,1,""],display:[329,3,1,""],init_django_paginator:[329,3,1,""],init_evtable:[329,3,1,""],init_f_str:[329,3,1,""],init_iterable:[329,3,1,""],init_pages:[329,3,1,""],init_queryset:[329,3,1,""],init_str:[329,3,1,""],page_back:[329,3,1,""],page_end:[329,3,1,""],page_formatter:[329,3,1,""],page_next:[329,3,1,""],page_quit:[329,3,1,""],page_top:[329,3,1,""],paginator:[329,3,1,""],paginator_django:[329,3,1,""],paginator_index:[329,3,1,""],paginator_slice:[329,3,1,""],start:[329,3,1,""]},"evennia.utils.evtable":{ANSITextWrapper:[330,1,1,""],EvCell:[330,1,1,""],EvColumn:[330,1,1,""],EvTable:[330,1,1,""],fill:[330,5,1,""],wrap:[330,5,1,""]},"evennia.utils.evtable.EvCell":{__init__:[330,3,1,""],get:[330,3,1,""],get_height:[330,3,1,""],get_min_height:[330,3,1,""],get_min_width:[330,3,1,""],get_width:[330,3,1,""],reformat:[330,3,1,""],replace_data:[330,3,1,""]},"evennia.utils.evtable.EvColumn":{__init__:[330,3,1,""],add_rows:[330,3,1,""],reformat:[330,3,1,""],reformat_cell:[330,3,1,""]},"evennia.utils.evtable.EvTable":{__init__:[330,3,1,""],add_column:[330,3,1,""],add_header:[330,3,1,""],add_row:[330,3,1,""],get:[330,3,1,""],reformat:[330,3,1,""],reformat_column:[330,3,1,""]},"evennia.utils.gametime":{TimeScript:[331,1,1,""],game_epoch:[331,5,1,""],gametime:[331,5,1,""],portal_uptime:[331,5,1,""],real_seconds_until:[331,5,1,""],reset_gametime:[331,5,1,""],runtime:[331,5,1,""],schedule:[331,5,1,""],server_epoch:[331,5,1,""],uptime:[331,5,1,""]},"evennia.utils.gametime.TimeScript":{DoesNotExist:[331,2,1,""],MultipleObjectsReturned:[331,2,1,""],at_repeat:[331,3,1,""],at_script_creation:[331,3,1,""],path:[331,4,1,""],typename:[331,4,1,""]},"evennia.utils.idmapper":{manager:[333,0,0,"-"],models:[334,0,0,"-"],tests:[335,0,0,"-"]},"evennia.utils.idmapper.manager":{SharedMemoryManager:[333,1,1,""]},"evennia.utils.idmapper.manager.SharedMemoryManager":{get:[333,3,1,""]},"evennia.utils.idmapper.models":{SharedMemoryModel:[334,1,1,""],SharedMemoryModelBase:[334,1,1,""],WeakSharedMemoryModel:[334,1,1,""],WeakSharedMemoryModelBase:[334,1,1,""],cache_size:[334,5,1,""],conditional_flush:[334,5,1,""],flush_cache:[334,5,1,""],flush_cached_instance:[334,5,1,""],update_cached_instance:[334,5,1,""]},"evennia.utils.idmapper.models.SharedMemoryModel":{"delete":[334,3,1,""],Meta:[334,1,1,""],at_idmapper_flush:[334,3,1,""],cache_instance:[334,3,1,""],flush_cached_instance:[334,3,1,""],flush_from_cache:[334,3,1,""],flush_instance_cache:[334,3,1,""],get_all_cached_instances:[334,3,1,""],get_cached_instance:[334,3,1,""],objects:[334,4,1,""],path:[334,4,1,""],save:[334,3,1,""],typename:[334,4,1,""]},"evennia.utils.idmapper.models.SharedMemoryModel.Meta":{"abstract":[334,4,1,""]},"evennia.utils.idmapper.models.WeakSharedMemoryModel":{Meta:[334,1,1,""],path:[334,4,1,""],typename:[334,4,1,""]},"evennia.utils.idmapper.models.WeakSharedMemoryModel.Meta":{"abstract":[334,4,1,""]},"evennia.utils.idmapper.tests":{Article:[335,1,1,""],Category:[335,1,1,""],RegularArticle:[335,1,1,""],RegularCategory:[335,1,1,""],SharedMemorysTest:[335,1,1,""]},"evennia.utils.idmapper.tests.Article":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],category2:[335,4,1,""],category2_id:[335,4,1,""],category:[335,4,1,""],category_id:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],path:[335,4,1,""],typename:[335,4,1,""]},"evennia.utils.idmapper.tests.Category":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],article_set:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],path:[335,4,1,""],regulararticle_set:[335,4,1,""],typename:[335,4,1,""]},"evennia.utils.idmapper.tests.RegularArticle":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],category2:[335,4,1,""],category2_id:[335,4,1,""],category:[335,4,1,""],category_id:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],objects:[335,4,1,""]},"evennia.utils.idmapper.tests.RegularCategory":{DoesNotExist:[335,2,1,""],MultipleObjectsReturned:[335,2,1,""],article_set:[335,4,1,""],id:[335,4,1,""],name:[335,4,1,""],objects:[335,4,1,""],regulararticle_set:[335,4,1,""]},"evennia.utils.idmapper.tests.SharedMemorysTest":{setUp:[335,3,1,""],testMixedReferences:[335,3,1,""],testObjectDeletion:[335,3,1,""],testRegularReferences:[335,3,1,""],testSharedMemoryReferences:[335,3,1,""]},"evennia.utils.logger":{EvenniaLogFile:[337,1,1,""],PortalLogObserver:[337,1,1,""],ServerLogObserver:[337,1,1,""],WeeklyLogFile:[337,1,1,""],log_dep:[337,5,1,""],log_depmsg:[337,5,1,""],log_err:[337,5,1,""],log_errmsg:[337,5,1,""],log_file:[337,5,1,""],log_file_exists:[337,5,1,""],log_info:[337,5,1,""],log_infomsg:[337,5,1,""],log_msg:[337,5,1,""],log_sec:[337,5,1,""],log_secmsg:[337,5,1,""],log_server:[337,5,1,""],log_trace:[337,5,1,""],log_tracemsg:[337,5,1,""],log_warn:[337,5,1,""],log_warnmsg:[337,5,1,""],rotate_log_file:[337,5,1,""],tail_log_file:[337,5,1,""],timeformat:[337,5,1,""]},"evennia.utils.logger.EvenniaLogFile":{num_lines_to_append:[337,4,1,""],readlines:[337,3,1,""],rotate:[337,3,1,""],seek:[337,3,1,""],settings:[337,4,1,""]},"evennia.utils.logger.PortalLogObserver":{emit:[337,3,1,""],prefix:[337,4,1,""],timeFormat:[337,4,1,""]},"evennia.utils.logger.ServerLogObserver":{prefix:[337,4,1,""]},"evennia.utils.logger.WeeklyLogFile":{__init__:[337,3,1,""],shouldRotate:[337,3,1,""],suffix:[337,3,1,""],write:[337,3,1,""]},"evennia.utils.optionclasses":{BaseOption:[338,1,1,""],Boolean:[338,1,1,""],Color:[338,1,1,""],Datetime:[338,1,1,""],Duration:[338,1,1,""],Email:[338,1,1,""],Future:[338,1,1,""],Lock:[338,1,1,""],PositiveInteger:[338,1,1,""],SignedInteger:[338,1,1,""],Text:[338,1,1,""],Timezone:[338,1,1,""],UnsignedInteger:[338,1,1,""]},"evennia.utils.optionclasses.BaseOption":{"default":[338,3,1,""],__init__:[338,3,1,""],changed:[338,3,1,""],deserialize:[338,3,1,""],display:[338,3,1,""],load:[338,3,1,""],save:[338,3,1,""],serialize:[338,3,1,""],set:[338,3,1,""],validate:[338,3,1,""],value:[338,3,1,""]},"evennia.utils.optionclasses.Boolean":{deserialize:[338,3,1,""],display:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Color":{deserialize:[338,3,1,""],display:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Datetime":{deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Duration":{deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Email":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Future":{validate:[338,3,1,""]},"evennia.utils.optionclasses.Lock":{validate:[338,3,1,""]},"evennia.utils.optionclasses.PositiveInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.SignedInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.Text":{deserialize:[338,3,1,""]},"evennia.utils.optionclasses.Timezone":{"default":[338,3,1,""],deserialize:[338,3,1,""],serialize:[338,3,1,""],validate:[338,3,1,""]},"evennia.utils.optionclasses.UnsignedInteger":{deserialize:[338,3,1,""],validate:[338,3,1,""],validator_key:[338,4,1,""]},"evennia.utils.optionhandler":{InMemorySaveHandler:[339,1,1,""],OptionHandler:[339,1,1,""]},"evennia.utils.optionhandler.InMemorySaveHandler":{__init__:[339,3,1,""],add:[339,3,1,""],get:[339,3,1,""]},"evennia.utils.optionhandler.OptionHandler":{__init__:[339,3,1,""],all:[339,3,1,""],get:[339,3,1,""],set:[339,3,1,""]},"evennia.utils.picklefield":{PickledFormField:[340,1,1,""],PickledObject:[340,1,1,""],PickledObjectField:[340,1,1,""],PickledWidget:[340,1,1,""],dbsafe_decode:[340,5,1,""],dbsafe_encode:[340,5,1,""],wrap_conflictual_object:[340,5,1,""]},"evennia.utils.picklefield.PickledFormField":{__init__:[340,3,1,""],clean:[340,3,1,""],default_error_messages:[340,4,1,""],widget:[340,4,1,""]},"evennia.utils.picklefield.PickledObjectField":{__init__:[340,3,1,""],formfield:[340,3,1,""],from_db_value:[340,3,1,""],get_db_prep_lookup:[340,3,1,""],get_db_prep_value:[340,3,1,""],get_default:[340,3,1,""],get_internal_type:[340,3,1,""],pre_save:[340,3,1,""],value_to_string:[340,3,1,""]},"evennia.utils.picklefield.PickledWidget":{media:[340,3,1,""],render:[340,3,1,""],value_from_datadict:[340,3,1,""]},"evennia.utils.search":{search_account:[341,5,1,""],search_account_tag:[341,5,1,""],search_channel:[341,5,1,""],search_channel_tag:[341,5,1,""],search_help_entry:[341,5,1,""],search_message:[341,5,1,""],search_object:[341,5,1,""],search_script:[341,5,1,""],search_script_tag:[341,5,1,""],search_tag:[341,5,1,""]},"evennia.utils.test_resources":{EvenniaTest:[342,1,1,""],LocalEvenniaTest:[342,1,1,""],mockdeferLater:[342,5,1,""],mockdelay:[342,5,1,""],unload_module:[342,5,1,""]},"evennia.utils.test_resources.EvenniaTest":{account_typeclass:[342,4,1,""],character_typeclass:[342,4,1,""],exit_typeclass:[342,4,1,""],object_typeclass:[342,4,1,""],room_typeclass:[342,4,1,""],script_typeclass:[342,4,1,""],setUp:[342,3,1,""],tearDown:[342,3,1,""]},"evennia.utils.test_resources.LocalEvenniaTest":{account_typeclass:[342,4,1,""],character_typeclass:[342,4,1,""],exit_typeclass:[342,4,1,""],object_typeclass:[342,4,1,""],room_typeclass:[342,4,1,""],script_typeclass:[342,4,1,""]},"evennia.utils.text2html":{TextToHTMLparser:[343,1,1,""],parse_html:[343,5,1,""]},"evennia.utils.text2html.TextToHTMLparser":{bg_colormap:[343,4,1,""],bgfgstart:[343,4,1,""],bgfgstop:[343,4,1,""],bgstart:[343,4,1,""],bgstop:[343,4,1,""],blink:[343,4,1,""],colorback:[343,4,1,""],colorcodes:[343,4,1,""],convert_linebreaks:[343,3,1,""],convert_urls:[343,3,1,""],fg_colormap:[343,4,1,""],fgstart:[343,4,1,""],fgstop:[343,4,1,""],hilite:[343,4,1,""],inverse:[343,4,1,""],normal:[343,4,1,""],parse:[343,3,1,""],re_bgfg:[343,4,1,""],re_bgs:[343,4,1,""],re_blink:[343,4,1,""],re_blinking:[343,3,1,""],re_bold:[343,3,1,""],re_color:[343,3,1,""],re_dblspace:[343,4,1,""],re_double_space:[343,3,1,""],re_fgs:[343,4,1,""],re_hilite:[343,4,1,""],re_inverse:[343,4,1,""],re_inversing:[343,3,1,""],re_mxplink:[343,4,1,""],re_normal:[343,4,1,""],re_string:[343,4,1,""],re_uline:[343,4,1,""],re_underline:[343,3,1,""],re_unhilite:[343,4,1,""],re_url:[343,4,1,""],remove_backspaces:[343,3,1,""],remove_bells:[343,3,1,""],sub_dblspace:[343,3,1,""],sub_mxp_links:[343,3,1,""],sub_text:[343,3,1,""],tabstop:[343,4,1,""],underline:[343,4,1,""],unhilite:[343,4,1,""]},"evennia.utils.utils":{LimitedSizeOrderedDict:[344,1,1,""],all_from_module:[344,5,1,""],at_search_result:[344,5,1,""],callables_from_module:[344,5,1,""],calledby:[344,5,1,""],check_evennia_dependencies:[344,5,1,""],class_from_module:[344,5,1,""],columnize:[344,5,1,""],crop:[344,5,1,""],datetime_format:[344,5,1,""],dbid_to_obj:[344,5,1,""],dbref:[344,5,1,""],dbref_to_obj:[344,5,1,""],dedent:[344,5,1,""],deepsize:[344,5,1,""],delay:[344,5,1,""],display_len:[344,5,1,""],fill:[344,5,1,""],format_grid:[344,5,1,""],format_table:[344,5,1,""],fuzzy_import_from_module:[344,5,1,""],get_all_cmdsets:[344,5,1,""],get_all_typeclasses:[344,5,1,""],get_evennia_pids:[344,5,1,""],get_evennia_version:[344,5,1,""],get_game_dir_path:[344,5,1,""],has_parent:[344,5,1,""],host_os_is:[344,5,1,""],inherits_from:[344,5,1,""],init_new_account:[344,5,1,""],interactive:[344,5,1,""],is_iter:[344,5,1,""],iter_to_str:[344,5,1,""],iter_to_string:[344,5,1,""],justify:[344,5,1,""],latinify:[344,5,1,""],lazy_property:[344,1,1,""],list_to_string:[344,5,1,""],m_len:[344,5,1,""],make_iter:[344,5,1,""],mod_import:[344,5,1,""],mod_import_from_path:[344,5,1,""],object_from_module:[344,5,1,""],pad:[344,5,1,""],percent:[344,5,1,""],percentile:[344,5,1,""],pypath_to_realpath:[344,5,1,""],random_string_from_module:[344,5,1,""],repeat:[344,5,1,""],run_async:[344,5,1,""],safe_convert_to_types:[344,5,1,""],server_services:[344,5,1,""],string_from_module:[344,5,1,""],string_partial_matching:[344,5,1,""],string_similarity:[344,5,1,""],string_suggestions:[344,5,1,""],strip_control_sequences:[344,5,1,""],time_format:[344,5,1,""],to_bytes:[344,5,1,""],to_str:[344,5,1,""],unrepeat:[344,5,1,""],uses_database:[344,5,1,""],validate_email_address:[344,5,1,""],variable_from_module:[344,5,1,""],wildcard_to_regexp:[344,5,1,""],wrap:[344,5,1,""]},"evennia.utils.utils.LimitedSizeOrderedDict":{__init__:[344,3,1,""],update:[344,3,1,""]},"evennia.utils.utils.lazy_property":{__init__:[344,3,1,""]},"evennia.utils.validatorfuncs":{"boolean":[345,5,1,""],color:[345,5,1,""],datetime:[345,5,1,""],duration:[345,5,1,""],email:[345,5,1,""],future:[345,5,1,""],lock:[345,5,1,""],positive_integer:[345,5,1,""],signed_integer:[345,5,1,""],text:[345,5,1,""],timezone:[345,5,1,""],unsigned_integer:[345,5,1,""]},"evennia.web":{urls:[347,0,0,"-"],utils:[348,0,0,"-"],webclient:[353,0,0,"-"],website:[356,0,0,"-"]},"evennia.web.utils":{backends:[349,0,0,"-"],general_context:[350,0,0,"-"],middleware:[351,0,0,"-"],tests:[352,0,0,"-"]},"evennia.web.utils.backends":{CaseInsensitiveModelBackend:[349,1,1,""]},"evennia.web.utils.backends.CaseInsensitiveModelBackend":{authenticate:[349,3,1,""]},"evennia.web.utils.general_context":{general_context:[350,5,1,""],set_game_name_and_slogan:[350,5,1,""],set_webclient_settings:[350,5,1,""]},"evennia.web.utils.middleware":{SharedLoginMiddleware:[351,1,1,""]},"evennia.web.utils.middleware.SharedLoginMiddleware":{__init__:[351,3,1,""],make_shared_login:[351,3,1,""]},"evennia.web.utils.tests":{TestGeneralContext:[352,1,1,""]},"evennia.web.utils.tests.TestGeneralContext":{maxDiff:[352,4,1,""],test_general_context:[352,3,1,""],test_set_game_name_and_slogan:[352,3,1,""],test_set_webclient_settings:[352,3,1,""]},"evennia.web.webclient":{urls:[354,0,0,"-"],views:[355,0,0,"-"]},"evennia.web.webclient.views":{webclient:[355,5,1,""]},"evennia.web.website":{forms:[357,0,0,"-"],templatetags:[358,0,0,"-"],tests:[360,0,0,"-"],urls:[361,0,0,"-"],views:[362,0,0,"-"]},"evennia.web.website.forms":{AccountForm:[357,1,1,""],CharacterForm:[357,1,1,""],CharacterUpdateForm:[357,1,1,""],EvenniaForm:[357,1,1,""],ObjectForm:[357,1,1,""]},"evennia.web.website.forms.AccountForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.AccountForm.Meta":{field_classes:[357,4,1,""],fields:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.forms.CharacterForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.CharacterForm.Meta":{fields:[357,4,1,""],labels:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.forms.CharacterUpdateForm":{base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.EvenniaForm":{base_fields:[357,4,1,""],clean:[357,3,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.ObjectForm":{Meta:[357,1,1,""],base_fields:[357,4,1,""],declared_fields:[357,4,1,""],media:[357,3,1,""]},"evennia.web.website.forms.ObjectForm.Meta":{fields:[357,4,1,""],labels:[357,4,1,""],model:[357,4,1,""]},"evennia.web.website.tests":{AdminTest:[360,1,1,""],ChannelDetailTest:[360,1,1,""],ChannelListTest:[360,1,1,""],CharacterCreateView:[360,1,1,""],CharacterDeleteView:[360,1,1,""],CharacterListView:[360,1,1,""],CharacterManageView:[360,1,1,""],CharacterPuppetView:[360,1,1,""],CharacterUpdateView:[360,1,1,""],EvenniaWebTest:[360,1,1,""],IndexTest:[360,1,1,""],LoginTest:[360,1,1,""],LogoutTest:[360,1,1,""],PasswordResetTest:[360,1,1,""],RegisterTest:[360,1,1,""],WebclientTest:[360,1,1,""]},"evennia.web.website.tests.AdminTest":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.ChannelDetailTest":{get_kwargs:[360,3,1,""],setUp:[360,3,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.ChannelListTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterCreateView":{test_valid_access_multisession_0:[360,3,1,""],test_valid_access_multisession_2:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterDeleteView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],test_valid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterListView":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterManageView":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterPuppetView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.CharacterUpdateView":{get_kwargs:[360,3,1,""],test_invalid_access:[360,3,1,""],test_valid_access:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.EvenniaWebTest":{account_typeclass:[360,4,1,""],authenticated_response:[360,4,1,""],channel_typeclass:[360,4,1,""],character_typeclass:[360,4,1,""],exit_typeclass:[360,4,1,""],get_kwargs:[360,3,1,""],login:[360,3,1,""],object_typeclass:[360,4,1,""],room_typeclass:[360,4,1,""],script_typeclass:[360,4,1,""],setUp:[360,3,1,""],test_get:[360,3,1,""],test_get_authenticated:[360,3,1,""],test_valid_chars:[360,3,1,""],unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.IndexTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.LoginTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.LogoutTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.PasswordResetTest":{unauthenticated_response:[360,4,1,""],url_name:[360,4,1,""]},"evennia.web.website.tests.RegisterTest":{url_name:[360,4,1,""]},"evennia.web.website.tests.WebclientTest":{test_get:[360,3,1,""],test_get_disabled:[360,3,1,""],url_name:[360,4,1,""]},evennia:{accounts:[143,0,0,"-"],commands:[149,0,0,"-"],comms:[172,0,0,"-"],contrib:[178,0,0,"-"],help:[236,0,0,"-"],locks:[240,0,0,"-"],objects:[243,0,0,"-"],prototypes:[248,0,0,"-"],scripts:[253,0,0,"-"],server:[262,0,0,"-"],set_trace:[141,5,1,""],settings_default:[313,0,0,"-"],typeclasses:[314,0,0,"-"],utils:[320,0,0,"-"],web:[346,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","exception","Python exception"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"],"5":["py","function","Python function"],"6":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:exception","3":"py:method","4":"py:attribute","5":"py:function","6":"py:data"},terms:{"000":[0,25,46,82,114,343],"0000":[0,46],"0004":22,"001":[22,127,343],"002":343,"003":343,"004":343,"005":[114,321,343],"006":343,"007":343,"008":343,"009":343,"00sc":124,"010":[25,343],"011":343,"012":343,"013":343,"0131018167":79,"014":343,"015":343,"015public":25,"016":343,"017":343,"018":343,"019":343,"020":343,"020t":25,"021":343,"022":343,"023":343,"024":343,"0247":22,"025":343,"026":343,"027":343,"028":343,"029":343,"030":343,"030a":25,"031":343,"032":343,"033":[321,343],"034":[22,343],"035":343,"036":343,"037":343,"038":343,"039":343,"040":343,"040f":25,"041":343,"042":343,"043":343,"044":343,"045":343,"046":343,"047":343,"048":343,"049":343,"050":[321,343],"050f":25,"051":343,"052":343,"053":343,"054":[114,343],"055":[321,343],"056":343,"057":343,"058":343,"059":343,"060":343,"061":343,"062":343,"062022":363,"063":343,"064":343,"065":343,"066":343,"067":343,"068":343,"069":343,"070":343,"071":343,"072":343,"073":343,"074":343,"075":343,"076":343,"077":343,"078":343,"079":343,"080":343,"081":343,"082":343,"083":343,"084":343,"085":343,"086":343,"087":343,"088":343,"089":343,"090":343,"091":343,"092":343,"093":343,"094":343,"095":343,"096":343,"097":343,"098":343,"099":343,"0b16":24,"0d0":56,"0label":70,"0qoklqey5ebad1f0eyeqaylmcc8o":70,"0x045a0990":42,"0x852be2c":59,"100":[31,43,56,73,85,93,111,125,169,185,188,217,220,221,343,344],"1000":[56,93,100,116,217,218,219,220,221,251],"1000000":[82,93,337],"100m":343,"100mb":90,"100x100":70,"101":[31,247,343],"101m":343,"102":343,"102m":343,"103":343,"103m":343,"104":343,"104m":343,"105":343,"105m":343,"106":343,"106m":343,"107":343,"107m":343,"108":343,"108m":343,"109":343,"1098":125,"109m":343,"10m":67,"110":[321,329,343],"1106db5a5e1a":122,"110m":343,"111":[12,43,114,157,343],"111m":343,"112":343,"112m":343,"113":[90,343],"113m":343,"114":343,"114m":343,"115":343,"115600":56,"115m":343,"116":343,"116m":343,"117":343,"1172":138,"117m":343,"118":[115,343],"1184":23,"118m":343,"119":343,"119m":343,"11e7":101,"120":[31,343],"1200":327,"120m":343,"121":343,"121m":343,"122":343,"122m":343,"123":[131,134,247,343],"1234":[54,109,203],"123dark":81,"123m":343,"124":343,"12400":82,"124m":343,"125":343,"125m":343,"126":343,"126m":343,"127":[8,9,24,63,67,90,287,343],"127m":343,"128":343,"128m":343,"129":343,"129m":343,"12s":27,"130":343,"130m":343,"131":343,"131m":343,"132":343,"132m":343,"133":343,"133m":343,"134":[12,43,157,343],"134m":343,"135":343,"135m":343,"136":343,"136m":343,"137":343,"137m":343,"138":343,"138m":343,"139":343,"139m":343,"140":[25,42,141,343],"1400":327,"140313967648552":33,"140m":343,"141":[139,343],"141m":343,"142":[22,180,343],"1424724909023":70,"142m":343,"143":343,"143m":343,"144":343,"144m":343,"145":343,"145m":343,"146":343,"146m":343,"147":343,"147m":343,"148":343,"148m":343,"149":343,"149m":343,"150":[326,343],"150m":343,"151":343,"151m":343,"152":343,"152m":343,"153":343,"153m":343,"154":343,"154m":343,"155":343,"155m":343,"156":[127,343],"156m":343,"157":343,"1577865600":62,"157m":343,"158":343,"158m":343,"159":343,"159m":343,"160":343,"160m":343,"161":343,"161m":343,"162":343,"162m":343,"163":343,"163m":343,"164":343,"164m":343,"165":343,"165m":343,"166":343,"166m":343,"167":343,"167m":343,"168":343,"168m":343,"169":343,"169m":343,"16m":343,"170":343,"170m":343,"171":343,"171m":343,"172":343,"172m":343,"173":343,"1730":79,"173m":343,"174":343,"174m":343,"175":343,"175m":343,"176":343,"1764":119,"176m":343,"177":343,"177m":343,"178":343,"178m":343,"179":343,"179m":343,"17m":343,"180":343,"180m":343,"181":343,"181m":343,"182":343,"182m":343,"183":343,"183m":343,"184":343,"184m":343,"185":343,"185m":343,"186":343,"186m":343,"187":343,"187m":343,"188":343,"188m":343,"189":343,"189m":343,"18m":343,"190":343,"1903":119,"190m":343,"191":343,"191m":343,"192":343,"192m":343,"193":343,"193m":343,"194":343,"194m":343,"195":343,"195m":343,"196":343,"196m":343,"197":343,"1970":62,"197m":343,"198":343,"198m":343,"199":343,"1996":79,"1998":79,"199m":343,"19m":343,"1_7":127,"1d100":[73,185],"1d2":56,"1d6":73,"1gb":90,"1st":62,"200":[343,360],"2001":79,"2003":79,"2004":79,"2008":344,"200m":343,"201":343,"2010":343,"2011":[124,181,214,232],"2012":[179,185,186,187],"2013":79,"2014":[21,213],"2015":[24,189,205,206],"2016":[99,199,202,212,214],"2017":[62,90,97,182,183,184,190,204,209,210,215,217,218,219,220,221,234,235],"2018":[9,180,188,198,203],"2019":[79,187],"201m":343,"202":343,"2020":[12,62,230,363],"2020_01_29":337,"2020_01_29__1":337,"2020_01_29__2":337,"202m":343,"203":[90,343],"203m":343,"204":343,"2048":67,"204m":343,"205":[327,343],"205m":343,"206":343,"206m":343,"207":343,"2076":119,"207m":343,"208":[91,343],"208m":343,"209":343,"209m":343,"20i":70,"20label":70,"20m":343,"210":343,"210m":343,"211":343,"211m":343,"212":[12,343],"2128":56,"212m":343,"213":343,"213m":343,"214":343,"214m":343,"215":343,"215m":343,"216":343,"216m":343,"217":343,"217m":343,"218":343,"218m":343,"219":[9,343],"219m":343,"21m":343,"220":343,"2207":204,"220m":343,"221":[322,343],"221m":343,"222":[114,321,343],"222m":343,"223":[12,343],"223m":343,"224":343,"224m":343,"225":[12,343],"225m":343,"226":343,"226m":343,"227":343,"227m":343,"228":343,"228m":343,"229":343,"22916c25":122,"229m":343,"22m":[321,343],"22nd":344,"230":[114,343],"230m":343,"231":343,"231m":343,"232":343,"232m":343,"233":[12,43,157,343],"233m":343,"234":[183,343],"234m":343,"235":343,"235m":343,"236":343,"236m":343,"237":[12,343],"237m":343,"238":343,"238m":343,"239":343,"239m":343,"23m":343,"240":343,"240m":343,"241":343,"241m":343,"242":343,"242m":343,"243":343,"243m":343,"244":343,"244m":343,"245":343,"245m":343,"246":343,"246m":343,"247":343,"247m":343,"248":343,"248m":343,"249":343,"249m":343,"24m":343,"250":343,"250m":343,"251":343,"251m":343,"252":343,"252m":343,"253":343,"253m":343,"254":343,"254m":343,"255":[24,321,343],"255fdonatecc":70,"255flg":70,"255fu":70,"255m":343,"256":[12,43,114,156,321],"25m":343,"26m":343,"27m":343,"280":71,"28comput":37,"28gmcp":291,"28m":343,"294267":101,"29m":343,"2d6":[58,185],"2gb":90,"2m1uhse7":133,"2pm6ywo":37,"300":[114,126,184,331],"3000000":82,"302":360,"30773728":101,"30m":[321,343],"31m":[321,343],"31st":62,"32bit":[24,63],"32m":[321,343],"32nd":58,"333":[12,114],"33333":59,"33m":[321,343],"340":56,"34m":[321,343],"358283996582031":93,"35m":[321,343],"360":62,"3600":62,"36m":[321,343],"37m":[321,343],"3872":119,"38m":343,"39m":343,"3abug":70,"3aissu":70,"3amast":70,"3aopen":70,"3c3ccec30f037be174d3":344,"3d6":185,"3rd":62,"4000":[9,36,63,67,75,90,95,100,101,103],"4001":[3,4,8,9,36,63,67,69,75,90,95,100,101,103,133,134,135,137,296],"4002":[8,36,67,90,100],"4003":90,"4004":90,"4005":90,"4006":90,"403":131,"404":69,"40m":[321,343],"41917":287,"41dd":122,"41m":[321,343],"4201":90,"425":321,"4280":55,"42m":[321,343],"430000":62,"431":321,"43m":[321,343],"443":[8,67,103],"444":114,"446ec839f567":122,"44m":[321,343],"45m":[27,321,343],"46d63c6d":122,"46m":[321,343],"474a3b9f":92,"47m":[321,343],"48m":343,"4993":94,"49be2168a6b8":101,"49m":343,"4er43233fwefwfw":9,"4th":[38,79],"500":[114,126,321],"50000":82,"500red":321,"502916":127,"503435":127,"505":321,"50m":343,"50mb":90,"5102":94,"516106":56,"51m":343,"520":114,"52m":343,"53d":122,"53m":343,"54m":343,"550":[321,327],"550n":25,"551e":25,"552w":25,"553b":25,"554i":25,"555":[114,204,321],"555e":25,"55m":343,"565000":62,"56m":343,"577349":343,"57kuswhxq":133,"57m":343,"5885d80a13c0db1f8e263663d3faee8d64ad11bbf4d2a5a1a0d303a50933f9":70,"5885d80a13c0db1f8e263663d3faee8d66f31424b43e9a70645c907a6cbd8fb4":37,"58m":343,"593":344,"59m":343,"5d5":56,"5x5":111,"600":[122,344],"60m":343,"614":138,"61m":343,"6299":122,"62cb3a1a":92,"62m":343,"6320":94,"63m":343,"64m":343,"6564":94,"65m":343,"6666":40,"6667":[43,72,79,146,164,308],"66m":343,"67m":343,"6833":94,"68m":343,"69m":343,"6d6":56,"70982813835144":93,"70m":343,"71m":343,"72m":343,"73m":343,"74m":343,"75m":343,"760000":62,"76m":343,"775":36,"77m":343,"78m":343,"7993":94,"7998":94,"79m":343,"7asq0rflw":122,"8080":90,"80m":343,"8111":36,"81m":343,"82m":343,"83m":343,"849":122,"84m":343,"85000":82,"85m":343,"86400":120,"86m":343,"87d6":122,"87m":343,"8820":101,"8859":[15,113],"88m":343,"89m":343,"8f64fec2670c":90,"900":[188,327],"9000":357,"90m":343,"90s":345,"91m":343,"92m":343,"93m":343,"94m":343,"95m":343,"96m":343,"97m":343,"981":204,"98m":343,"990":327,"99999":61,"99m":343,"9cdc":122,"\u6d4b\u8bd5":25,"abstract":[47,64,86,119,221,316,317,318,334,338,344],"boolean":[13,33,133,137,154,185,188,242,247,259,287,316,319,321,322,338,345],"break":[10,12,14,30,37,42,51,54,57,58,61,91,96,103,108,111,114,125,137,141,166,167,202,226,276,328,329,344],"byte":[15,27,94,113,269,276,278,287,295,344],"case":[1,6,8,10,11,12,13,14,15,21,22,25,27,28,29,31,33,34,37,38,40,41,42,43,44,46,49,51,55,58,59,60,61,62,64,69,74,79,80,81,82,83,86,88,89,91,95,96,100,102,103,105,107,108,109,110,111,113,114,116,119,120,121,123,125,127,128,131,133,137,144,146,151,153,156,159,165,166,167,170,175,176,179,180,182,185,187,188,196,204,206,211,226,233,238,239,241,242,247,251,256,258,272,276,280,284,298,305,308,316,317,318,319,321,323,334,341,344,349],"catch":[15,26,27,30,43,51,58,87,91,97,102,115,118,146,165,233,257,267,272,279,305,306,316,326,328,334,337,340],"char":[43,56,58,71,73,85,88,105,111,116,117,119,120,133,144,159,165,189,233,247,264,277,290,291,312,321,327,330],"class":[1,2,3,5,6,10,11,12,16,17,20,21,25,26,28,29,30,31,38,39,40,42,43,44,47,49,50,52,53,55,56,57,58,60,61,62,64,68,71,73,77,81,82,85,86,89,91,97,102,105,109,116,117,118,119,120,121,123,124,132,133,134,135,144,146,147,148,149,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,195,196,198,199,202,203,204,205,206,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,238,239,242,243,245,246,247,249,251,252,255,256,257,258,259,260,261,264,265,267,269,270,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,300,303,305,306,307,308,310,311,312,314,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,347,349,351,352,357,360],"const":234,"default":[0,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,27,29,31,32,33,34,35,36,38,39,40,41,42,45,46,47,49,50,51,53,56,57,58,59,62,63,64,65,66,67,68,69,71,72,75,76,77,81,82,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,103,104,105,106,107,109,111,112,113,114,116,117,118,119,121,123,124,125,126,127,128,129,131,133,134,135,136,138,139,140,141,142,144,146,148,149,150,151,152,153,154,175,177,179,180,181,182,183,184,185,186,187,188,189,190,193,195,196,199,202,203,205,206,209,210,212,213,214,215,217,218,219,220,221,226,231,233,234,235,236,238,239,240,242,247,251,252,256,257,259,260,261,265,267,269,271,272,273,277,289,290,291,296,298,299,305,306,307,308,312,313,316,317,318,319,321,323,324,326,328,329,330,333,334,337,338,339,340,341,344,345,349,357,364],"export":75,"final":[10,23,26,27,29,33,36,38,39,41,43,58,63,67,68,69,70,73,76,80,83,85,86,102,103,105,109,114,116,123,125,126,127,133,134,136,150,151,152,159,164,168,185,215,242,252,304,308,321,323,328,329],"float":[38,49,114,146,184,194,195,198,260,267,279,317,331,340,344],"function":[3,4,5,6,9,10,11,13,14,18,19,20,21,23,25,26,27,29,33,34,37,38,40,41,43,44,46,48,50,52,55,57,58,59,60,61,62,63,64,68,69,73,74,75,77,81,82,83,85,86,88,91,93,96,104,106,107,108,109,110,111,115,118,119,121,122,123,124,125,127,128,133,134,135,137,138,140,141,144,148,151,153,154,156,157,158,159,160,164,165,166,167,169,170,175,176,179,180,181,184,185,187,188,190,194,195,198,199,203,205,206,211,212,215,217,218,219,220,221,226,230,232,233,234,235,239,240,241,242,247,250,251,252,257,259,260,261,267,272,276,287,288,293,296,299,306,308,310,318,319,320,321,322,324,325,326,328,329,331,337,338,339,343,344,345,347,350],"g\u00e9n\u00e9ral":79,"goto":[85,230,328],"import":[0,2,3,4,5,6,9,10,11,13,14,15,16,19,20,21,22,25,27,28,29,30,31,33,39,40,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,68,69,71,72,73,74,76,77,80,81,82,83,84,85,86,89,90,91,93,94,96,97,102,103,104,105,106,107,110,111,112,113,114,115,116,117,118,119,120,121,123,125,126,127,132,133,134,135,136,137,138,140,141,153,159,169,170,179,180,181,182,183,184,185,187,188,198,199,202,204,205,206,212,213,215,217,218,219,220,221,226,232,233,235,238,242,251,252,261,267,271,279,280,301,305,308,309,316,318,322,323,326,327,328,329,330,341,342,344],"int":[11,25,31,39,49,51,56,58,74,85,91,114,123,125,134,144,146,151,152,154,176,179,182,184,185,188,190,192,194,195,198,206,215,217,218,219,220,221,234,247,252,258,260,261,264,265,267,271,272,276,277,278,279,281,285,286,287,295,296,298,308,310,312,316,317,321,324,326,327,328,329,330,331,334,337,341,344],"long":[9,10,15,20,22,23,25,26,27,29,33,37,38,40,43,44,46,49,51,52,55,58,60,62,64,68,71,72,73,78,79,80,81,85,86,87,90,105,108,111,113,115,118,121,125,126,127,129,131,133,135,138,139,156,159,166,179,186,195,203,213,220,234,276,281,296,321,322,329,330,344],"new":[0,2,5,9,11,12,13,14,16,19,20,21,22,23,24,25,26,27,29,31,33,34,35,36,37,38,39,40,41,43,44,45,49,50,51,54,55,57,61,62,63,64,65,67,68,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,88,89,90,91,92,93,94,95,96,98,100,101,104,105,106,107,108,109,111,112,116,117,118,121,122,123,124,128,129,131,132,134,135,136,137,138,139,144,146,152,153,154,156,157,159,164,166,167,169,170,171,175,180,181,182,186,187,188,192,195,199,202,203,204,205,206,212,213,215,217,218,219,220,221,231,232,233,235,239,242,246,247,249,251,252,256,259,260,261,264,267,276,277,278,279,285,286,287,292,299,307,308,312,316,317,318,319,321,322,324,327,328,329,330,334,337,338,344,360,363,364],"null":[8,86],"public":[25,34,41,43,58,65,67,72,90,93,100,103,131,134,164,247,312,330],"return":[3,4,6,10,11,15,20,21,22,25,27,28,29,30,33,36,38,39,40,41,42,43,44,48,49,50,52,58,60,62,64,68,69,71,73,74,76,77,80,81,82,83,85,89,91,93,95,96,97,100,102,103,107,108,109,110,111,112,114,116,117,118,119,121,123,125,127,129,133,134,137,138,144,146,148,150,151,152,153,154,156,159,164,166,169,170,175,176,177,179,180,182,184,185,187,188,190,192,193,194,195,198,199,203,204,205,206,210,211,212,215,217,218,219,220,221,223,226,230,231,232,233,234,235,238,239,241,242,246,247,249,250,251,252,257,258,259,260,261,264,265,267,272,273,276,277,279,280,281,282,284,285,286,287,288,290,291,292,294,295,296,298,299,305,306,308,310,311,312,316,317,318,319,321,322,323,324,325,326,328,329,330,331,334,337,338,339,340,341,343,344,345,347,350,357],"short":[20,22,29,38,39,42,46,51,54,57,58,61,62,70,71,83,87,89,95,96,103,110,112,114,123,129,137,140,164,180,182,195,202,205,206,234,252,322,344],"static":[38,49,58,83,94,124,127,135,136,137,139,180,192,206,214,312,324,347,355,364],"super":[5,22,25,31,40,41,49,57,58,60,62,81,89,96,118,121,123,125,180,182,206],"switch":[0,2,9,10,13,14,16,19,20,23,25,31,33,34,43,46,50,58,65,68,72,76,80,81,82,88,90,98,114,116,121,122,123,125,126,129,131,137,138,156,157,158,159,164,165,166,167,169,185,187,199,202,203,218,226,256,318,324,329,345],"th\u00ed":20,"throw":[11,22,43,66,75,109,131,133,153,260,344],"true":[1,2,4,5,10,11,13,20,21,22,25,26,27,29,31,33,34,38,40,41,49,50,51,54,56,58,62,65,66,68,69,72,74,76,80,81,83,84,85,86,87,90,91,96,98,100,102,105,114,115,116,117,120,121,122,123,125,126,127,133,135,137,138,144,148,150,152,153,154,156,159,164,166,167,170,175,176,177,179,180,182,183,184,185,188,190,192,195,203,204,205,206,212,215,217,218,219,220,221,226,230,231,235,239,241,242,246,247,249,251,252,256,257,258,259,260,261,265,267,272,273,276,278,285,290,295,296,306,308,310,312,316,317,318,321,324,326,328,329,330,331,334,339,340,341,344,345],"try":[0,4,5,6,8,9,10,11,12,13,15,16,20,21,22,23,25,26,27,29,30,38,39,42,43,44,46,48,49,50,51,54,55,56,57,58,60,61,63,64,65,66,67,68,69,73,74,75,77,80,81,86,90,91,93,95,96,97,102,103,108,109,110,111,113,118,119,120,121,123,124,126,127,133,134,135,136,137,138,140,144,148,152,154,159,175,177,179,180,186,196,204,205,206,212,213,217,218,219,220,221,226,231,232,233,235,239,247,251,264,267,276,291,292,296,310,316,318,321,323,324,326,327,340,344],"var":[67,83,88,137,209,291,322],"void":56,"while":[0,9,10,11,13,14,20,22,23,25,28,29,31,33,35,37,38,41,43,49,50,51,55,56,57,58,62,63,70,75,83,86,90,91,93,95,96,103,108,109,110,111,114,116,118,119,121,122,124,127,129,133,134,136,137,138,144,156,159,166,167,170,179,188,196,203,204,218,221,226,231,233,235,247,252,259,291,314,318,328,330,344,345,363],AIs:79,AND:[43,73,80,119,159,188,242,316],ARE:77,AWS:[90,100],Adding:[18,32,33,45,57,60,71,82,85,108,116,124,139,166,187,328,364],Age:[188,357],And:[0,4,9,10,11,21,22,25,26,29,33,36,41,42,46,51,57,61,62,69,73,80,86,91,96,105,111,126,133,138,153,182,215,217,218,219,220,221,364],Are:[33,61,79,82,328],Aye:46,BGs:126,Being:[58,81,122,123],But:[0,6,10,11,13,15,20,21,22,25,26,27,28,29,31,33,37,38,39,41,42,44,51,54,55,57,59,60,61,62,64,69,72,73,80,82,83,85,86,91,95,96,100,102,104,107,109,111,114,119,125,126,127,133,134,138,152,153,179,319],DNS:[67,90],DOING:188,DoS:285,Doing:[29,33,43,55,73,134,153,156],For:[0,2,5,6,8,9,12,13,14,16,17,19,20,21,22,23,25,27,29,31,33,36,37,38,39,41,42,43,46,49,51,55,56,57,58,59,62,63,64,69,72,73,76,79,80,81,83,85,86,88,90,91,93,95,96,98,100,102,103,105,109,110,111,113,114,116,121,123,126,127,129,131,132,133,134,135,136,138,139,140,144,152,153,159,164,166,169,175,176,177,180,182,185,187,188,189,198,206,212,214,215,218,231,239,242,247,252,260,287,296,316,318,321,325,328,338,340,344,350,357,364],GMs:58,Going:234,Has:[24,217,218,219,220,221],His:[57,189],IDE:[38,48,106],IDEs:57,IDs:[0,100,133,134,194,316,344],INTO:[43,159,188],IOS:24,IPs:[12,103,209,310],IRE:[88,291],Its:[41,62,69,80,83,86,89,105,164,189,226,252,326,328,344],LTS:97,NOT:[11,25,33,43,80,90,103,119,137,159,242,252,310,364],Not:[8,24,30,41,54,57,61,74,90,108,112,115,127,131,132,133,137,146,153,167,247,264,277,278,279,281,282,283,289,291,294,316,317,338],OBS:[19,43],ONE:103,Obs:127,One:[0,8,12,20,22,25,29,34,36,38,46,49,51,57,58,60,63,64,69,76,79,80,87,91,94,95,102,105,110,115,117,121,123,126,128,130,131,132,138,141,148,150,179,185,205,215,231,232,251,252,277,305,316,317,321,322,328,329,344],PRs:131,Such:[6,13,28,33,37,43,48,51,57,64,73,127,159,252,321,328],THAT:91,THE:188,THEN:[153,188],THERE:188,TLS:103,That:[0,3,4,9,10,15,21,22,25,26,31,33,39,41,42,46,49,55,57,62,64,68,69,73,74,77,91,93,95,96,98,102,105,111,112,115,119,122,125,127,131,134,136,138,140,179,180,186,215,242,252,308,328],The:[0,2,4,5,6,7,8,9,12,15,17,20,21,23,24,25,27,28,30,31,33,34,36,37,38,39,40,42,43,44,45,48,52,53,54,55,56,57,59,60,61,62,63,64,66,67,68,70,72,73,74,75,76,78,79,80,81,82,84,86,87,88,89,90,91,92,94,95,97,98,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,118,119,120,121,122,124,125,126,127,128,129,131,132,133,134,136,137,138,139,140,144,146,147,148,150,151,152,153,154,156,159,163,164,165,166,167,168,169,170,171,175,176,177,179,180,182,184,185,186,187,188,189,190,192,193,194,195,198,199,203,204,205,206,212,213,215,217,218,219,220,221,223,226,230,231,232,233,234,235,236,238,239,241,242,246,247,249,250,251,252,255,256,257,258,259,260,261,264,265,266,267,269,271,272,274,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,294,295,296,298,299,304,305,306,307,308,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,332,334,337,338,339,340,341,342,344,345,347,357,363,364],Their:[51,73,103,109,114,124,189],Theirs:189,Then:[0,9,15,22,38,39,41,42,46,56,61,63,69,91,93,100,107,127,131,137,187],There:[0,5,8,10,11,13,14,15,19,20,21,22,23,25,26,27,31,33,34,38,41,46,49,51,55,57,58,60,61,62,64,68,69,72,73,77,79,80,81,85,86,88,89,90,91,93,95,96,97,98,102,103,104,105,107,108,111,112,113,114,116,117,118,119,121,123,125,127,128,133,136,138,139,167,187,188,215,217,218,219,220,221,235,252,261,272,291,308,321,322,328,363],These:[0,4,5,9,11,13,17,22,25,33,34,35,38,39,40,43,47,49,51,59,61,65,68,69,73,74,83,86,88,90,91,95,96,100,102,103,105,107,109,110,111,112,114,119,121,122,124,125,127,131,133,137,138,139,143,144,150,152,154,156,158,160,164,168,176,180,184,198,199,203,205,206,210,226,233,238,242,247,251,252,261,266,273,292,295,296,298,307,308,309,316,318,321,325,328,329,330,337,338,339,344],USE:364,Use:[1,2,4,5,8,9,12,13,14,20,22,23,24,25,31,38,43,48,51,54,58,60,63,65,69,70,89,90,93,95,96,100,105,109,114,116,122,123,125,127,131,137,144,151,156,157,159,164,165,166,169,171,175,179,180,184,186,199,202,203,204,206,218,219,220,221,234,246,247,269,273,278,295,296,298,299,302,316,318,321,327,328,330,334,341,344],Used:[33,43,121,139,150,153,159,188,202,215,235,246,259,269,287,316,318,329,330,344,350],Useful:[12,51,90],Uses:[114,159,171,186,209,231,267,316,330,334],Using:[18,22,27,43,46,51,55,58,60,62,68,80,91,96,115,121,123,139,159,206,218,226,234,247,287,314,328,364],VCS:36,VHS:188,VPS:90,WILL:[24,91],WIS:58,WITH:[23,188],Was:164,Will:[31,38,74,110,114,144,164,184,204,206,247,250,252,265,267,276,277,318,328,330,331,339,344],With:[8,11,15,19,23,55,57,77,87,100,111,114,122,123,141,144,180,206,247,252,316,321],Yes:[33,138,188,326,328],__1:337,__2:337,_________________:125,_________________________:51,______________________________:51,________________________________:51,_________________________________:125,______________________________________:328,______________________________________________:51,_______________________________________________:51,____________________________________________________:51,_________________________________________________________:85,__________________________________________________________:85,__defaultclasspath__:318,__doc__:[33,43,59,68,154,167,169,170,239,324,328],__example__:97,__ge__:97,__getitem__:321,__init_:330,__init__:[3,6,11,40,47,49,53,96,97,107,125,152,153,154,177,179,180,192,204,206,234,242,246,247,251,257,258,260,261,264,265,267,269,270,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,298,305,306,308,310,311,312,316,318,319,321,323,326,327,328,329,330,337,338,339,340,344,351],__iter__:11,__multimatch_command:168,__noinput_command:[152,168,180,326,328,329],__nomatch_command:[168,180,233,326,328],__settingsclasspath__:318,__unloggedin_look_command:[171,186],_action_thre:51,_action_two:51,_all_:152,_asynctest:293,_attrs_to_sync:307,_attrtyp:316,_cach:318,_cached_cmdset:153,_call_or_get:180,_callable_no:328,_callable_y:328,_callback:[27,261],_char_index:321,_character_dbref:181,_check_password:51,_check_usernam:51,_clean_str:321,_cleanup_charact:116,_code_index:321,_copi:[43,159,247],_creation:125,_data:329,_default:[51,328],_defend:51,_differ:321,_errorcmdset:153,_event:198,_evmenu:328,_famili:119,_file:337,_flag:251,_footer:33,_format_diff_text_and_opt:252,_funcnam:344,_get_a_random_goblin_nam:109,_get_db_hold:[306,318],_get_top:69,_getinput:328,_gettabl:272,_http11clientfactori:269,_init_charact:116,_is_fight:29,_is_in_mage_guild:51,_ital:38,_italic_:54,_loadfunc:326,_menutre:[25,51,328],_monitor:272,_monitor_callback:84,_nicklist_cal:146,_npage:329,_oob_at_:334,_option:51,_page_formatt:329,_pagin:329,_pending_request:312,_permission_hierarchi:241,_ping_cal:146,_playable_charact:[69,133],_postsav:334,_prefix:206,_quell:241,_quitfunc:326,_raw_str:321,_reactor_stop:[284,305],_recog_obj2recog:206,_recog_obj2regex:206,_recog_ref2recog:206,_regex:206,_repeat:272,_safe_contents_upd:246,_savefunc:326,_saver:[11,325],_saverdict:[11,325],_saverlist:[11,325],_saverset:325,_sdesc:206,_select:51,_sensitive_:349,_session:328,_set:119,_set_attribut:51,_set_nam:51,_some_other_monitor_callback:84,_start_delai:261,_static:38,_stop_:344,_stop_serv:284,_templat:38,_test:150,_to_evt:329,_validate_fieldnam:58,_yes_no_quest:328,a076:101,a221:122,a2enmod:8,a8oc3d5b:100,a_off:179,a_python_func:38,aaaaaaa:133,aaaaaaaaezc:133,aaaaaaaaezg:133,aaaaaaaaezi:133,aardwolf:88,abbrevi:[43,76,114,159,202],abcd:[43,165],abi:60,abid:126,abil:[6,10,20,31,33,52,55,56,57,58,60,73,77,80,90,100,102,108,109,123,127,134,137,138,139,205,206,213,217,218,219,220,221,247,259,267,316],abl:[0,3,4,5,8,11,13,14,19,20,21,22,23,26,27,28,29,31,33,36,41,42,43,47,49,51,52,55,57,58,59,60,61,63,64,69,71,73,75,76,81,83,85,86,87,89,90,91,93,95,96,100,103,104,106,109,111,112,114,116,121,122,123,130,131,133,134,138,140,153,156,157,159,160,164,166,175,177,180,184,190,199,206,212,217,218,219,220,221,316,318,325,340,344,360],abort:[25,27,33,51,52,77,89,122,144,154,159,175,213,233,247,250,328,329,344],about:[0,3,9,10,11,12,13,14,15,16,17,20,21,22,23,24,25,26,30,31,33,36,37,38,39,41,42,44,45,46,48,51,54,55,57,59,60,61,63,64,68,69,70,71,73,75,76,77,78,79,81,83,85,86,90,91,93,94,95,96,97,100,101,103,104,108,109,110,112,113,114,116,118,119,120,123,124,126,127,131,134,135,136,138,139,144,159,166,169,179,180,182,185,214,219,220,221,232,233,239,247,267,269,272,281,283,285,294,296,306,308,317,319,321,329,334,344,363],abov:[2,4,8,9,10,11,12,13,14,21,23,24,27,28,29,30,31,33,36,37,40,43,44,46,49,50,51,56,57,58,59,60,62,63,64,67,68,69,74,80,81,84,85,86,90,91,93,95,96,100,102,105,106,109,110,111,112,114,116,118,119,121,123,125,127,131,132,133,135,137,138,140,152,153,159,180,185,188,190,199,204,206,213,214,215,217,219,220,221,242,247,272,328,339,350],abridg:41,absolut:[27,38,56,62,79,91,134,182,184,185,189,327,331,344],absorb:74,abspath:344,abstractus:148,abus:[7,103],academi:79,accept:[11,14,22,23,27,31,37,43,51,54,58,59,74,80,88,90,95,96,109,114,115,125,131,133,134,138,144,150,151,169,179,185,188,193,196,204,205,206,213,231,233,247,267,272,285,311,312,317,322,328,340,344],accept_callback:[193,195],access:[0,4,7,8,11,12,13,14,19,21,22,23,25,27,29,31,33,34,38,39,40,41,47,49,51,52,53,56,57,58,59,60,63,64,66,68,69,71,73,74,80,83,84,85,86,87,89,90,91,95,96,100,101,102,103,104,105,107,108,109,111,112,114,116,119,121,123,124,125,126,127,128,131,133,134,135,137,139,144,148,152,153,154,156,157,159,164,165,166,167,169,175,176,177,180,187,190,192,194,203,205,206,217,218,219,220,221,233,234,239,240,241,242,246,247,250,251,252,256,258,260,261,264,267,276,277,306,308,314,316,318,319,322,323,324,337,343,344,357],access_obj:[241,316],access_opt:345,access_token_kei:[71,120],access_token_secret:[71,120],access_typ:[43,68,144,154,159,175,177,239,241,242,247,316,318],accessed_obj:[25,80,121,241,242],accessing_obj:[1,11,25,80,121,144,175,177,239,241,242,247,316,318],accessing_object:[11,241],accessor:[148,177,239,246,256,316,318,319,335],accessori:63,accident:[15,31,38,43,123,138,157,159,306],accommod:4,accomod:[101,330],accompani:123,accomplish:[12,25,41,49,55],accord:[31,33,111,116,126,180,182,204,205,218,260,321,322],accordingli:[49,58,90,106,234],account1:360,account2:360,account:[0,4,6,9,11,12,14,17,19,20,21,22,24,25,27,31,33,34,35,37,41,45,47,49,50,51,52,53,55,56,57,61,62,65,66,69,71,74,80,81,83,87,89,90,91,92,96,100,104,105,107,108,109,110,111,112,114,119,120,122,123,125,126,127,129,131,133,134,135,138,139,141,142,149,150,151,152,153,154,155,157,159,160,161,164,165,166,167,170,171,175,176,177,180,181,182,184,186,187,188,190,192,193,195,199,206,209,212,217,219,220,221,226,230,231,232,233,235,239,241,242,246,247,249,251,252,253,256,267,271,272,287,298,299,306,307,308,316,318,321,324,328,329,338,339,341,342,344,345,349,357,360,364],account_cal:[156,164,167,199],account_count:308,account_id:[133,247],account_mod:159,account_nam:56,account_search:[206,247],account_subscription_set:148,account_typeclass:[342,360],accountcmdset:[2,22,31,41,43,57,58,62,156,160,181,199],accountdb:[53,119,125,133,141,144,148,175,239,314,318,338,345],accountdb_set:[316,319],accountdbmanag:[147,148],accountdbpasswordcheck:287,accountform:357,accountid:133,accountlist:58,accountmanag:[144,147],accountnam:[43,58,159,171,176,186],accru:144,accur:[22,154,192,218,221,252,260,265,267,269,270,278,287,288,290,292,295,296,316,321,339,340,351],accuraci:[46,91,218,219,220],accus:73,accustom:[87,124],acept:188,achiev:[0,22,27,33,57,114,124,126,138,220,267],ack:52,acquaint:57,acquir:323,across:[16,20,40,51,56,61,86,91,102,105,108,109,125,144,152,153,182,188,205,233,238,247,259,261,264,276,277,291,308,329,330],act:[2,8,13,23,29,31,34,37,43,49,51,56,58,61,70,77,95,102,105,110,111,123,139,141,144,159,164,177,188,215,264,276,277,296,316,319,323,328],action1:116,action2:116,action:[0,11,22,29,39,41,42,43,46,51,55,57,61,62,64,73,88,90,91,93,102,114,116,117,118,123,133,138,144,146,164,165,175,179,188,206,217,218,219,220,221,226,230,234,238,239,251,256,257,279,298,299,300,310,318,328,329,334],action_count:116,action_nam:[217,218,219,220,221],actiondict:116,actions_per_turn:[217,218,220,221],activ:[4,9,12,13,26,27,28,31,33,36,38,43,61,62,63,64,65,66,72,75,76,79,80,81,83,89,90,93,95,98,102,105,110,114,128,131,135,136,138,144,150,153,157,159,169,175,193,210,226,231,235,246,247,250,260,272,279,280,281,282,283,287,289,290,291,298,308,310,316,317,328,329,330,344],activest:343,actor:[221,247],actual:[2,5,8,10,11,13,14,19,20,21,22,26,27,29,34,36,38,40,41,42,43,44,46,47,49,51,58,59,60,61,63,64,68,69,71,73,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,104,105,106,109,111,112,113,114,115,116,119,121,123,126,127,128,130,133,134,136,137,138,144,150,154,156,159,164,165,167,170,175,177,179,180,182,187,188,198,202,203,205,206,213,214,215,217,218,219,220,221,226,232,233,235,239,241,242,246,247,252,287,290,296,298,304,306,307,308,312,313,316,318,321,323,326,328,334,338,339,340,344],actual_return:127,adapt:[0,4,21,40,69,73,133],add:[0,2,5,6,8,9,10,11,13,14,15,16,17,19,20,21,22,24,26,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,57,58,61,62,64,65,66,67,68,69,71,73,74,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,98,100,102,104,105,106,109,111,112,113,114,115,116,117,118,119,120,121,123,124,125,127,128,131,132,133,134,135,137,138,139,140,141,144,148,152,153,159,164,165,166,168,170,175,179,180,181,182,183,185,186,187,192,193,195,196,198,199,202,203,205,206,209,212,213,215,217,218,219,220,221,223,226,230,231,232,233,234,241,242,246,247,252,256,257,258,259,260,261,267,272,273,277,280,281,283,285,289,296,298,299,301,309,316,319,322,326,327,328,329,330,334,337,339,340,364],add_:330,add_act:116,add_alia:164,add_argu:234,add_callback:[193,195],add_charact:116,add_choic:180,add_choice_:180,add_choice_edit:[22,180],add_choice_quit:[22,180],add_collumn:154,add_column:[58,330],add_condit:219,add_default:[21,31,85,96,121,153],add_dist:221,add_ev:195,add_head:330,add_languag:205,add_row:[58,82,154,330],add_user_channel_alia:175,add_xp:73,addcallback:[33,247],addclass:[137,141,142,346,356,358],addcom:[58,164],added:[0,4,5,17,21,22,24,25,27,31,33,34,36,38,40,41,42,43,51,55,57,58,60,65,69,70,73,75,77,78,80,86,88,91,96,100,102,106,108,109,110,111,112,114,116,117,119,121,123,128,131,132,133,138,144,150,152,153,154,164,168,169,179,180,182,183,185,189,192,195,198,205,206,217,218,219,220,221,226,235,242,247,250,252,258,260,272,306,310,316,319,322,328,329,330,337,344,350],addendum:37,adding:[0,3,5,9,14,17,21,22,25,27,29,31,35,36,38,40,43,46,51,57,58,62,69,76,80,81,85,86,91,97,102,104,106,108,109,112,114,115,116,121,123,125,126,128,131,133,137,138,139,152,153,157,159,166,180,184,188,190,192,195,199,205,206,215,217,218,219,220,233,234,251,252,258,267,298,316,324,330,344],addingservermxp:282,addit:[4,8,22,25,31,36,37,46,49,50,51,58,62,69,76,82,88,90,91,103,104,109,114,119,134,144,146,153,154,166,175,180,183,192,193,195,205,209,215,221,234,242,247,250,260,278,306,316,318,328,357],addition:[25,111,119,221],additionalcmdset:31,addpart:203,addquot:344,addr:[264,277,278,279,324],address:[3,9,12,23,33,40,43,49,67,87,90,91,103,105,131,135,144,157,175,186,189,247,264,277,279,287,307,310,344,345,363],address_and_port:287,addresult:203,addscript:[43,159],addservic:40,adjac:[221,231],adject:97,adjoin:206,adjust:[0,33,37,63,126,133,190,260,328,330],admin:[2,9,11,12,15,19,21,33,34,41,49,58,61,68,69,72,80,85,86,98,101,110,119,121,123,133,134,138,141,142,143,148,149,155,159,164,169,171,172,175,186,231,236,239,242,243,246,247,253,262,276,277,314,318,324,340,363],administr:[10,23,33,36,41,55,58,63,64,68,80,103,129,139,264,276,277,364],adminportal2serv:276,adminserver2port:276,adminstr:264,admintest:360,admit:39,adopt:[21,22,26,57,64,177,291],advanc:[10,12,13,22,28,31,33,39,40,43,44,51,55,58,64,79,86,93,104,105,108,109,111,119,123,124,125,139,159,167,187,204,206,217,218,219,220,221,226,282,322,326,327,328,330,364],advantag:[3,14,15,28,36,39,46,51,55,56,58,59,62,68,69,73,90,103,104,109,116,118,123,133,179,180,209,215,217,218,219,220,221,319,322],advent:181,adventur:[20,41,77,111,122,124],advic:79,advis:[0,22,25,77],aeioui:119,aesthet:50,aezo:133,affair:323,affect:[11,13,14,19,25,31,33,43,61,62,73,80,81,105,112,114,116,126,127,128,131,138,144,152,169,183,198,205,212,219,226,247,251,318,322,330,338],affili:260,affliat:260,afford:[85,105],afraid:90,after:[0,5,8,9,10,11,14,15,20,21,22,25,27,28,29,30,31,33,36,38,39,41,43,44,46,49,50,51,55,58,60,63,67,68,76,77,79,80,83,85,86,90,91,96,100,102,103,107,114,116,117,121,122,123,126,127,128,130,131,133,136,138,139,144,152,153,154,155,156,159,166,167,169,170,175,179,180,182,184,185,186,187,188,190,195,203,205,206,215,217,218,219,220,221,226,228,231,232,233,234,235,246,247,252,257,259,260,267,289,290,293,305,306,307,308,310,312,316,321,322,323,326,328,329,334,339,342,343,344],after_mov:247,afternoon:187,afterthought:48,afterward:[20,29,69,86,91,119,131,180],again:[0,6,12,13,14,20,21,22,23,28,29,33,39,41,42,43,47,48,49,51,54,56,57,58,60,61,62,63,64,67,69,73,76,80,81,85,86,90,91,93,95,96,98,100,102,105,106,110,111,114,116,119,121,123,126,128,131,133,138,146,153,164,170,184,195,204,217,220,221,226,235,259,267,284,287,290,310,321,322,325,340,342],againnneven:170,against:[6,11,21,31,33,37,57,58,83,90,103,116,119,125,127,144,151,152,206,217,218,219,220,221,242,247,251,252,285,310,316,318,341,344],age:[188,234,357],agenc:103,agent:36,agenta:[114,321],ages:188,aggreg:79,aggress:[11,14,75,122,124,139,231,318,364],aggressive_pac:231,agi:[11,60,127],agil:[11,60],agnost:[37,64],ago:[25,100,344],agre:[1,73,113,179],agree:179,ahead:[14,22,24,36,49,61,90,108,121,289],aid:[113,166,167,179,312],aim:[7,55,58,61,73,85,86,90,95,108,126,251],ain:46,ainnev:[73,119],air:[20,21,111],ajax:[40,55,90,137,296,307],ajaxwebcli:296,ajaxwebclientsess:296,aka:[9,11,93,203,344],alarm:[20,82],alert:[175,247],alexandrian:79,algebra:49,algorith:205,algorithm:344,alia:[2,6,9,20,21,22,31,33,41,44,48,51,57,58,59,60,63,87,89,90,95,105,111,112,119,125,127,129,131,148,151,154,156,159,164,165,166,167,170,175,187,192,206,212,228,231,233,235,241,246,247,252,256,261,272,298,317,318,319,324,340,341,342,357],alias1:[43,159,187],alias2:[43,159,187],alias3:187,alias:[2,13,20,21,22,25,27,29,31,33,34,41,43,44,45,48,51,58,60,74,81,82,85,87,89,109,111,116,119,123,129,131,140,144,152,154,156,157,158,159,164,165,166,167,168,169,170,171,175,176,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,235,238,239,246,247,252,317,318,319,324,326,328,329,337,341],aliaschan:[43,164],aliasdb:144,aliashandl:319,aliasnam:252,aliasstr:324,align:[41,58,109,114,190,321,330,344],alik:68,alist:97,aliv:[55,231],alkarouri:343,all:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,43,44,46,47,48,49,50,53,54,55,56,57,58,59,60,61,62,63,64,68,70,72,73,74,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,144,146,149,150,151,152,153,154,155,156,157,158,159,160,161,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,185,186,187,188,189,192,195,199,202,203,204,205,206,210,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,238,239,240,241,242,243,246,247,250,251,252,257,258,259,260,261,262,266,267,271,272,273,276,278,279,281,283,284,285,286,287,290,291,294,295,296,298,299,305,306,307,308,310,312,313,314,316,317,318,319,321,322,323,324,325,326,327,328,329,330,334,337,339,341,343,344,345,347,350,357,363],all_alias:112,all_attr:318,all_connected_account:308,all_displai:261,all_famili:119,all_from_modul:344,all_opt:339,all_receiv:247,all_room:13,all_script:102,all_sessions_portal_sync:308,all_to_categori:238,allcom:164,allerror:[267,276],allevi:[11,108,127,312],allheadersreceiv:312,alli:221,alloc:90,allow:[0,2,3,4,6,8,9,10,11,12,13,14,15,16,19,21,22,23,25,26,27,29,30,31,33,34,36,38,39,41,42,43,44,46,47,49,51,53,54,55,57,58,59,61,63,64,65,68,71,72,73,74,75,76,78,80,81,85,86,87,89,90,91,92,95,96,97,98,100,101,102,103,104,106,108,109,111,112,113,114,116,119,121,123,125,126,129,131,133,134,135,137,138,144,146,148,150,152,153,154,156,157,158,159,164,166,167,169,170,175,176,177,179,180,182,184,185,187,188,189,195,202,204,205,206,215,217,218,219,220,221,226,231,232,233,234,235,239,241,242,247,251,252,257,260,261,267,271,272,274,278,280,281,282,283,290,291,292,294,299,305,306,308,310,311,316,318,319,321,322,324,326,328,329,330,331,334,338,339,340,342,344,357],allow_abort:328,allow_dupl:152,allow_nan:296,allow_quit:328,allowed_attr:58,allowed_fieldnam:58,allowed_host:90,allowed_propnam:123,allowedmethod:296,allowext:312,almost:[19,33,41,95,115,119,125,180,182,269,276,314],alon:[13,29,49,51,56,58,73,80,86,87,116,127,138,152,166,261,272,298,322,324,330],alone_suffix:303,along:[5,12,33,43,48,51,60,64,70,74,78,88,91,93,96,100,104,107,114,121,122,139,144,156,179,185,205,209,215,220,242,247,296,314],alongsid:[5,38,67,188],alonw:256,alpha:[54,90,321],alphabet:[15,111,113,321],alreadi:[0,2,5,6,9,11,13,15,21,22,25,27,29,31,33,34,38,40,41,43,46,49,50,51,54,56,57,58,60,61,63,64,68,69,70,72,73,77,80,81,82,85,88,89,91,94,95,96,100,102,103,105,106,109,110,112,116,117,118,119,120,121,123,125,127,128,131,133,134,135,136,137,138,139,152,153,156,159,164,167,169,170,175,176,179,181,182,204,205,206,217,218,219,220,221,231,232,235,242,247,251,252,267,276,284,285,287,292,295,300,305,306,308,316,319,321,324,329,337,344,349],alredi:40,alright:179,also:[0,1,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,72,73,74,75,77,79,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,135,136,137,138,140,144,148,151,152,153,154,156,157,158,159,161,164,165,166,167,169,170,175,176,177,179,180,181,182,185,187,188,190,195,199,202,204,205,206,213,215,219,220,221,226,231,232,233,235,240,241,242,246,247,251,252,253,256,259,261,262,267,271,272,276,278,285,287,290,291,294,295,298,299,308,312,314,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,334,341,344,363],alt:321,alter:[0,4,23,41,64,111,137,316],altern:[23,29,33,34,38,51,55,57,63,64,68,72,76,81,87,90,111,112,114,118,119,122,131,133,138,140,164,167,175,203,206,221,226,241,242,285,321,324,344],although:[22,29,39,42,63,119,156,180,181,185,312,340,344],althougn:46,altogeth:[50,103,114],alu:33,alwai:[0,2,4,6,8,11,12,13,14,20,21,23,25,27,30,31,33,34,37,38,39,43,47,49,51,57,58,61,62,63,64,69,72,73,74,77,80,85,86,88,89,90,91,95,96,102,105,107,109,112,114,115,121,123,125,126,127,128,131,134,135,137,144,152,153,154,156,158,159,164,166,167,170,175,176,177,199,205,206,212,226,241,242,246,247,251,252,261,267,269,272,276,284,287,290,291,295,296,299,306,308,313,316,317,318,319,321,324,334,340,341,344,345,350],always_pag:329,always_return:267,amaz:75,amazon:[79,90],ambianc:108,ambigu:[41,154,189,247,318],ambiti:[108,129],amend:131,amfl:14,ammo:21,among:[2,35,36,43,62,64,79,89,104,111,123,127,165,182,232,242,330,341],amongst:77,amor:196,amount:[11,16,37,43,61,68,73,102,103,114,123,169,217,218,219,220,221,247,308,326],amp:[40,83,92,94,105,141,142,262,264,267,275,277,285,293,305,308],amp_client:[141,142,262],amp_maxlen:293,amp_port:90,amp_serv:[141,142,262,275],ampclientfactori:264,ampersand:108,amphack:276,ampl:124,amplauncherprotocol:267,ampmulticonnectionprotocol:[264,276,277],ampprotocol:264,ampserverclientprotocol:264,ampserverfactori:277,ampserverprotocol:277,amsterdam:90,anaconda:9,analog:[49,83],analys:51,analysi:210,analyz:[15,33,41,51,80,118,150,159,206,247,251,252,257,267,329,344],anchor:[175,221,239,318],anchor_obj:221,ancient:114,andr:24,android:[139,364],anew:[63,111,175,267],angl:129,angri:41,angular:[43,169],ani:[0,1,2,5,6,8,10,11,12,14,15,16,19,20,21,22,23,24,25,27,30,31,33,34,36,37,38,39,40,41,42,43,44,48,49,50,51,54,56,57,58,59,60,61,63,64,65,68,70,72,73,74,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,95,96,97,98,100,102,103,104,105,107,109,112,114,115,116,117,118,119,121,122,123,125,126,127,128,129,131,133,134,135,136,137,138,139,140,144,148,150,151,152,153,154,156,157,159,165,166,169,170,175,176,177,179,180,181,182,186,187,188,189,190,194,199,202,204,205,206,209,210,213,217,218,219,220,221,223,226,231,233,234,235,241,242,247,250,251,252,256,257,259,260,261,264,265,267,269,271,272,276,277,279,285,286,287,290,291,295,296,298,306,307,308,312,316,317,318,319,321,322,323,325,326,327,328,329,330,337,338,339,340,341,343,344],anim:[27,52],anna:[43,58,63,72,117,118,123,159],annoi:[12,85,91],annot:79,announc:[25,37,43,79,116,123,128,157,164,169,175,217,218,219,220,221,247],announce_al:[285,308],announce_move_from:[25,77,89,247],announce_move_to:[25,77,89,247],annoy:144,anonym:[4,66,69,206],anonymous_add:206,anoth:[0,8,10,11,13,14,16,21,22,29,31,33,36,39,42,43,46,49,51,56,57,58,62,63,64,67,69,77,78,80,89,90,91,96,97,98,102,105,106,108,109,111,112,113,114,116,121,123,127,131,132,136,137,138,139,140,144,152,153,156,159,164,165,170,175,179,180,182,188,194,199,204,206,215,217,218,219,220,221,232,235,239,247,250,308,316,318,322,326,328,329,344],another_batch_fil:322,another_nod:328,another_script:102,anotherscript:102,ansi:[24,43,53,55,74,81,137,141,142,156,183,190,202,272,279,287,290,295,296,320,330,343,364],ansi_escap:321,ansi_map:321,ansi_map_dict:321,ansi_pars:321,ansi_r:321,ansi_regex:321,ansi_sub:321,ansi_xterm256_bright_bg_map:321,ansi_xterm256_bright_bg_map_dict:321,ansimatch:321,ansimeta:321,ansipars:321,ansistr:[141,321,330],ansitextwrapp:330,answer:[0,11,21,25,26,33,46,51,61,63,67,69,70,73,95,96,103,127,265,271,328],anti:63,anul:8,anwer:44,anybodi:[59,103],anymor:[4,181,195,203,204,235,328,340],anyon:[1,4,12,21,25,29,41,42,54,58,60,76,80,85,90,116,118,119,123,138],anyth:[0,1,5,11,13,16,19,20,22,23,26,29,31,33,34,40,41,42,46,49,51,56,61,63,64,69,73,80,82,83,85,87,89,90,91,94,95,96,100,102,104,106,111,116,118,121,123,125,127,128,130,131,133,135,136,137,138,152,154,168,180,206,215,217,218,219,220,221,242,279,313,316,322,328],anywai:[0,4,14,20,51,55,75,76,91,95,108,114,140,179,181,186],anywher:[33,51,60,64,95,96,125,134,326],apach:[7,23,90,103,139,312,364],apache2:8,apache_wsgi:8,apart:[2,11,20,27,34,47,55,63,80,81,100,104,125,126,127,134,221],api:[13,15,26,27,33,34,42,43,47,48,52,59,60,71,73,89,96,105,109,111,120,125,133,138,139,141,144,158,169,171,177,186,306,316,318,322,323,329,363,364],api_kei:71,api_secret:71,apostroph:15,app:[4,40,71,80,86,134,135,136,138,139],app_id:133,appar:[48,58,126],apparit:233,appeal:[51,61,114],appear:[9,10,21,22,25,26,27,30,38,43,47,48,51,60,63,65,66,68,72,80,82,90,95,96,100,102,104,106,111,114,123,126,127,131,137,138,141,156,166,182,195,206,212,235,247,291,292,318,330,337],append:[20,22,25,27,31,39,40,43,49,50,51,68,69,80,85,88,89,90,91,93,96,97,116,123,127,133,138,154,159,166,182,199,206,242,300,322,337,344],appendto:137,appform:133,appl:[179,247],appli:[0,8,9,13,16,22,23,31,33,36,37,51,60,80,81,102,106,111,115,121,125,126,128,133,144,150,152,167,183,217,218,219,220,221,235,242,247,251,252,256,261,308,316,317,318,321,322,327,330,331,341,344],applic:[8,40,63,79,80,86,94,100,103,112,124,128,133,134,135,136,144,187,188,221,267,270,280,284,305,306,312,354],applicationdatareceiv:290,applied_d:133,apply_damag:[217,218,219,220,221],apply_turn_condit:219,appnam:[11,80],appreci:[22,37,70,78,334],approach:[22,25,39,56,77,91,106,115,133,180,221],appropri:[8,9,23,31,33,36,55,71,91,106,119,121,129,133,138,144,157,190,267,306,338,340,344,347],approrpri:40,approv:[133,134,138],approxim:[5,43,169,344],april:62,apt:[8,63,67,75,90,103,131],arbitr:61,arbitrari:[11,13,19,27,46,59,64,80,96,97,100,111,125,137,138,139,140,144,175,187,215,221,233,247,252,259,265,276,296,310,316,325,337,340,344],arcan:129,archer:252,architectur:[80,252],archiv:[79,103],archwizard:252,area:[2,22,24,48,49,51,58,61,79,117,122,127,138,231,235,241,327,328,330,344],aren:[0,4,29,39,69,103,127,131,133,136,138,144,182,188,195,203,219,337,340],arg1:[80,154,167,170,175,316],arg2:[154,167,170,316],arg:[1,5,10,21,22,25,29,30,33,38,39,40,41,42,43,51,58,59,68,71,73,74,80,81,83,85,88,96,109,114,115,116,119,121,123,129,132,137,144,146,147,148,151,154,159,167,168,170,175,176,177,179,182,184,187,189,192,195,203,204,205,206,212,213,214,215,217,218,219,220,221,223,226,231,232,233,234,235,238,239,241,242,245,246,247,250,251,252,255,256,259,260,261,264,272,273,274,276,277,278,279,284,285,287,288,290,291,292,295,296,300,306,308,310,312,316,317,318,319,321,328,330,331,333,334,337,340,342,344,345,357],arg_regex:[41,44,154,159,165,166,170,171,182,326,328],arglist:167,argn:316,argpars:234,argtyp:344,argu:11,argument:[3,4,5,10,12,14,20,21,22,23,25,27,29,31,33,34,40,41,42,43,46,48,50,52,57,58,59,62,69,74,80,81,83,85,87,88,89,93,95,96,102,109,111,114,115,119,123,124,125,127,129,134,139,144,146,150,151,153,154,156,157,159,164,165,166,167,169,170,175,176,180,182,184,187,188,189,192,194,195,204,205,206,210,212,217,218,219,220,221,233,234,242,247,251,252,257,259,260,261,265,267,272,276,278,279,285,286,287,290,291,295,296,298,299,306,307,308,310,311,316,317,318,319,321,322,324,326,327,328,329,330,334,338,340,341,344,364],argumentpars:234,argumnet:330,aribtrarili:344,aris:103,arm:[26,33,203],armi:85,armor:[29,82,182,218],armour:29,armouri:77,armpuzzl:203,armscii:[15,113],arnold:87,around:[0,4,10,13,14,15,21,23,29,31,34,38,39,42,43,49,55,58,61,63,64,69,70,71,73,77,79,80,85,89,90,91,96,109,111,113,114,116,117,119,121,123,129,136,138,139,159,167,182,184,194,203,206,221,226,231,232,233,235,247,321,322,330,337],arrai:[88,91,291,344],arrang:22,arrayclos:[88,291],arrayopen:[88,291],arriv:[0,25,29,43,73,77,83,105,159,279],arrow:[42,137],art:[114,122,327],articl:[4,15,21,39,41,48,57,61,79,113,127,131,335],article_set:335,artifact:330,artifici:73,arx:79,arxcod:[79,139,364],as_view:[175,239,318],ascii:[9,15,111,113,144,327,330,344],asciiusernamevalid:144,asdf:159,ashlei:[182,188,190,215,217,218,219,220,221],asian:344,asid:9,ask:[1,10,21,23,26,34,37,42,43,46,48,50,54,58,63,67,68,69,70,73,84,90,91,93,97,119,124,131,133,152,154,159,179,184,193,204,234,265,267,294,328,331,344],ask_choic:265,ask_continu:265,ask_input:265,ask_nod:265,ask_yes_no:328,ask_yesno:265,asn:209,aspect:[48,51,57,60,64,68,73,86,109,127,190],assert:[116,127],assertequ:127,assertionerror:170,assertregex:127,asserttru:127,asset:[103,136,271,347],assetown:9,assign:[2,6,11,12,13,20,36,43,51,56,58,80,87,89,94,97,102,109,112,115,116,119,121,123,131,137,138,144,150,151,153,159,164,166,167,170,183,187,188,206,217,218,219,220,221,233,242,246,247,251,252,272,279,285,287,290,306,325],assist:90,associ:[4,11,29,43,51,79,83,90,105,122,135,138,144,149,159,175,192,195,206,247,306,308,317],assum:[0,3,5,9,12,13,14,15,19,20,21,22,25,27,28,29,31,33,34,37,39,40,41,43,44,46,47,49,51,55,56,58,60,62,68,73,74,75,80,81,82,84,85,89,90,95,96,97,100,102,103,105,106,108,109,110,111,113,115,116,117,118,120,121,123,127,128,132,133,134,138,150,152,153,154,156,159,164,166,170,175,180,181,206,213,232,233,241,247,252,257,291,308,321,322,328,344,349],assumpt:151,assur:[49,125],asterisk:[2,12,38,43,157],astronaut:77,astronom:62,async:[133,139,344,364],asynccommand:10,asynchron:[27,28,29,33,45,55,64,92,93,139,146,247,276,277,291,337,344],at_:[125,334],at_access:[144,247],at_account_cr:[2,144],at_after_mov:[77,89,96,117,247],at_after_object_leav:235,at_after_travers:[89,232,247],at_befor:247,at_before_drop:[218,221,247],at_before_g:[218,221,247],at_before_get:[221,247],at_before_mov:[25,77,89,217,218,219,220,221,247],at_before_sai:[96,206,247],at_channel_cr:175,at_channel_msg:175,at_char_ent:117,at_cmdset_cr:[5,21,22,25,30,31,33,41,44,57,58,62,81,85,116,121,123,152,160,161,162,163,179,180,181,182,185,187,199,202,203,206,214,217,218,219,220,221,226,230,231,232,233,326,328,329],at_cmdset_get:[144,247,306],at_db_location_postsav:246,at_defeat:[217,218,219,220,221],at_desc:247,at_disconnect:[144,306],at_drop:[218,221,247],at_end:256,at_err:[10,344],at_err_funct:10,at_err_kwarg:[10,344],at_failed_login:144,at_failed_travers:[89,212,232,247],at_first_login:144,at_first_sav:[144,175,247],at_first_start:318,at_get:[182,221,247],at_giv:[218,221,247],at_heard_sai:118,at_hit:231,at_idmapper_flush:[318,334],at_init:[6,107,125,144,175,231,232,233,247],at_initial_setup:[104,271],at_initial_setup_hook_modul:271,at_login:[40,125,278,279,287,290,295,296,306],at_look:[96,144,247],at_message_rec:144,at_message_send:144,at_msg_rec:[144,189,247],at_msg_send:[144,146,189,247],at_new_arriv:231,at_now_add:86,at_object_cr:[5,6,21,25,31,39,43,58,60,73,80,81,85,89,96,121,123,125,132,159,187,189,206,212,214,217,218,219,220,221,226,231,232,233,247,318],at_object_delet:247,at_object_leav:[89,233,235,247],at_object_post_copi:247,at_object_rec:[89,117,233,235,247],at_password_chang:144,at_paus:259,at_post_all_msg:175,at_post_channel_msg:[144,175],at_post_cmd:[30,33,150,154,167,170],at_post_command:33,at_post_disconnect:144,at_post_login:[25,144],at_post_msg:175,at_post_portal_sync:305,at_post_puppet:[96,247],at_post_unpuppet:[96,247],at_pre_channel_msg:[144,175],at_pre_cmd:[33,150,154,167,170],at_pre_command:33,at_pre_login:144,at_pre_msg:175,at_pre_puppet:[96,247],at_pre_unpuppet:247,at_prepare_room:235,at_reload:[43,169,305],at_renam:318,at_repeat:[102,116,120,121,125,146,179,184,195,217,218,219,220,221,223,259,300,331],at_return:[10,344],at_return_funct:10,at_return_kwarg:[10,344],at_sai:[118,247],at_script_cr:[102,116,120,121,146,179,184,195,204,205,217,218,219,220,221,223,235,251,259,300,331],at_script_delet:259,at_search_result:[168,344],at_server_cold_start:305,at_server_cold_stop:305,at_server_connect:285,at_server_reload:[102,110,144,146,247,259],at_server_reload_start:305,at_server_reload_stop:[25,305],at_server_shutdown:[102,110,144,146,247,259],at_server_start:[195,259,305],at_server_startstop:[25,104],at_server_stop:305,at_shutdown:305,at_start:[102,116,146,235,256,259],at_startstop_modul:261,at_stop:[102,116,121,217,218,219,220,221,259],at_sunris:62,at_sync:[306,307],at_tick:[115,261],at_travers:[89,213,235,247],at_traverse_coordin:235,at_turn_start:219,at_upd:[219,257],at_weather_upd:132,ating:170,atlanti:24,atleast:205,atom:98,atop:235,atribut:325,att:51,attach:[4,11,21,41,43,56,58,64,77,89,95,102,105,110,112,119,140,154,159,167,169,189,199,215,235,242,247,258,304,319],attachmentsconfig:4,attachscript:159,attack:[14,28,29,30,46,51,77,90,103,116,119,122,134,139,153,206,215,217,218,219,220,221,231,232,247,252,285],attack_count:220,attack_messag:73,attack_nam:220,attack_skil:252,attack_summari:73,attack_typ:221,attack_valu:[217,218,219,220,221],attempt:[0,2,22,24,29,31,43,51,60,61,87,91,103,106,119,120,135,156,159,187,210,212,217,218,219,220,221,264,267,272,305,310,318,344],attent:[38,56,58,89,103,111],attitud:57,attr1:[43,159,203],attr2:[43,159,203],attr3:[43,159],attr:[11,22,43,49,51,58,80,109,119,136,137,159,166,180,233,241,251,252,306,316,318,334,340],attr_eq:241,attr_g:[80,241],attr_gt:[80,241],attr_l:[80,241],attr_lt:[80,241],attr_n:[80,241],attr_nam:159,attr_obj:[316,318],attr_object:318,attract:37,attrcreat:[80,316],attread:11,attredit:[11,80,316],attrib:242,attribiut:316,attribut:[0,2,6,12,20,22,25,27,28,30,39,41,42,43,45,46,49,50,51,56,57,58,60,61,69,73,74,77,80,81,82,84,85,86,87,89,91,95,102,105,108,109,112,115,116,119,123,125,127,133,134,138,139,141,142,144,148,153,159,168,169,175,180,181,187,194,195,202,203,206,213,217,218,219,220,221,226,231,232,233,241,246,247,250,251,252,256,257,260,272,306,314,317,318,319,324,325,326,337,338,341,344,357,364],attribute1:123,attribute2:123,attribute_list:316,attribute_nam:[144,206,247,341],attributeerror:[42,60,86,306,316],attributehandl:[1,125,316,339,344],attributeobject:11,attrkei:252,attrlist:316,attrnam:[11,43,51,80,109,125,159,241,318],attrread:[11,80,316],attrtyp:[11,316,317],attrvalu:51,attryp:317,atttribut:49,atyp:242,audibl:205,audio:137,audit:[141,142,175,178,207,247],audit_callback:209,auditedserversess:[209,210],auditingtest:211,aug:9,august:[9,344],aut:52,auth:[144,148,164,287,349,357],auth_password:287,auth_profile_modul:148,authent:[40,103,105,107,133,138,144,278,285,287,290,296,306,308,349],authenticated_respons:360,author:[41,90,126,144,192,195],auto:[0,5,12,14,21,31,32,33,34,38,42,43,45,51,63,67,71,89,95,96,105,122,131,133,138,141,144,148,154,158,159,166,169,170,205,206,226,236,239,242,247,252,256,261,264,267,278,288,295,296,305,308,318,323,329,330,349],auto_close_msg:226,auto_help:[33,41,44,51,68,69,154,170,188,230,249,328,329],auto_help_display_kei:[154,170,328],auto_id:357,auto_look:[51,188,230,249,328],auto_now_add:86,auto_quit:[51,188,230,249,328],auto_transl:205,autobahn:[278,284,295],autodoc:38,autofield:133,autologin:349,autom:[14,36,57,58,67,79,86,100,103,110],automat:[0,6,10,14,19,22,23,27,30,31,34,37,38,41,43,46,47,50,51,55,58,60,62,64,65,66,67,68,71,72,80,81,84,85,86,90,96,97,100,102,104,105,109,111,116,117,118,119,121,122,123,124,125,126,128,131,135,136,139,140,144,152,153,154,159,164,165,167,170,179,180,181,182,194,195,196,203,204,205,206,214,221,234,242,246,247,258,260,261,272,281,284,287,292,305,308,310,322,326,328,329,330,344,350],automatical:261,autostart:[258,324],autumn:[97,99,187],avail:[0,5,7,8,10,11,13,16,21,22,23,25,26,31,33,36,38,39,40,41,42,43,44,46,48,49,51,53,57,58,60,62,63,64,65,72,74,75,76,77,78,79,80,81,82,85,88,89,90,91,95,96,98,100,102,104,105,106,108,109,110,111,113,114,116,119,121,122,123,125,127,128,130,131,133,134,137,138,139,141,144,150,151,152,153,154,156,159,161,164,165,166,167,169,170,171,179,180,181,185,187,189,195,199,202,204,205,206,214,215,217,218,219,220,221,226,232,233,242,247,250,251,252,256,272,296,299,310,322,323,328,329,330,344,350],available_chan:164,available_choic:[51,328],available_funct:251,available_languag:205,available_weapon:232,avatar:[64,88,96,247,287],avatarid:287,avenew:41,avenu:182,averag:[13,43,90,93,169,195,205,234],avoid:[8,11,23,26,27,31,33,37,38,40,42,43,51,80,81,85,95,97,100,109,111,114,125,126,127,129,131,138,139,152,159,204,205,226,234,235,241,246,272,276,286,296,306,316,318,321,322,323,326,329,334],awai:[0,9,10,11,14,15,21,26,29,42,43,46,49,51,55,66,68,69,73,80,86,90,96,102,105,109,111,121,123,131,165,182,215,218,221,226,231,233,235,247,256,307,321,344],await:10,awar:[11,14,26,31,33,44,51,88,95,96,110,125,126,132,133,189,204,206,231,234,235,247,318,321],awesom:[63,135],aws:90,azur:100,b3cbh3:133,b64decod:340,b64encod:340,b_offer:179,baaaad:127,babi:138,bacground:67,back:[0,3,5,10,11,12,13,14,20,21,22,23,25,26,27,29,31,33,34,36,38,43,46,49,50,51,56,58,60,61,63,64,67,69,73,74,81,83,85,86,87,90,91,95,96,97,100,102,105,106,110,111,113,116,118,119,121,122,123,125,126,131,133,135,137,141,144,153,156,159,164,168,179,180,206,212,215,220,226,249,267,272,276,279,285,287,290,305,318,325,328,329,337,344],back_exit:0,backbon:[133,322],backend:[23,36,109,127,135,141,142,316,344,346,348],backend_class:316,background:[10,17,29,51,67,90,103,110,114,126,133,183,190,321],backpack:31,backslash:114,backtick:[38,131],backtrack:131,backup:[10,89,90,105,131,168,322],backward:[50,51,58,121,337],bad:[0,22,24,37,41,58,64,70,76,85,119,127,210,269],bad_back:242,badg:130,bag:344,bake:100,balanc:[29,56,61,79,116,330],balk:95,ball:[31,59,104,151,152,252],ballon:203,balloon:203,ban:[7,25,80,139,144,157,164,170,175,242,364],ban_us:164,band:[45,88,118,137,287,290,291],bandit:46,bandwidth:280,banid:[43,157],bank:61,banlist:175,bar:[51,82,83,84,88,112,135,137,190,206,215,291,328,344],bare:[33,55,58,73,104,190,218],barehandattack:56,bargain:86,barkeep:[42,206],barter:[61,63,102,117,141,142,178],bartl:79,bas:120,base:[3,4,6,9,13,16,17,20,21,22,23,30,33,34,36,38,39,41,42,43,49,51,53,55,56,57,58,60,61,63,64,67,69,72,73,75,77,79,80,83,85,86,89,90,94,96,100,102,103,105,108,111,113,115,119,120,123,124,125,126,127,129,130,133,134,136,137,138,139,141,144,146,147,148,150,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,195,196,198,199,202,203,204,205,206,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,238,239,242,245,246,247,249,251,252,255,256,257,258,259,260,261,264,265,267,269,270,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,299,300,303,305,306,307,308,310,311,312,316,317,318,319,321,322,323,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,349,351,352,357,360,364],base_account_typeclass:2,base_char_typeclass:120,base_character_typeclass:[43,81,120,133,134,144,159],base_field:357,base_guest_typeclass:66,base_object_typeclass:[109,252,318],base_script_path:241,base_script_typeclass:102,base_set:9,baseclass:232,basecontain:323,baseline_index:344,baseobject:125,baseopt:338,basepath:344,basetyp:[247,322],basetype_posthook_setup:247,basetype_setup:[39,80,96,144,146,175,247],bash:[36,38,63,67,232],basi:[4,33,37,62,90,136,138,167,177,206,296,318,327],basic:[0,2,3,6,9,15,16,17,19,20,22,26,29,31,33,34,36,39,40,43,46,47,48,56,57,58,60,61,62,69,73,77,79,80,81,83,86,87,110,111,113,116,117,118,121,122,124,126,128,133,134,135,137,139,144,146,159,164,166,175,177,188,194,203,218,220,232,241,243,247,298,342,357,364],bat:[9,63],batch:[18,20,43,48,63,79,111,122,124,139,141,142,158,252,276,316,319,320,364],batch_add:[252,316,319],batch_cmd:14,batch_cod:[13,322],batch_code_insert:13,batch_create_object:252,batch_exampl:322,batch_import_path:[13,14],batch_insert_fil:14,batch_update_objects_with_prototyp:252,batchcmd:[43,158],batchcmdfil:[14,322],batchcod:[14,79,111,158],batchcode_map:111,batchcode_world:111,batchcodefil:13,batchcodeprocessor:322,batchcommand:[14,20,22,63,122,158,322],batchcommandprocessor:322,batchfil:[14,15,111,322],batchprocess:[141,142,149,155],batchprocessor:[13,141,142,158,320],batchscript:[13,322],batteri:144,battl:[79,103,116,122,217,218,219,220,221],battlecmdset:[217,218,219,220,221],baz:215,bazaar:108,beach:111,bear:[204,231],beat:[61,116],beaten:[116,233],beauti:[22,49,133],beazlei:79,becam:[29,126],becaus:[0,2,6,8,9,10,11,12,13,15,16,21,22,25,29,31,36,38,40,41,42,44,46,51,54,56,59,64,68,73,76,77,80,89,91,95,96,107,108,109,111,115,116,117,119,125,126,130,133,134,136,153,171,175,186,194,205,220,235,247,259,279,285,298,308,321,338,340,344],becom:[0,5,10,22,37,38,41,42,43,47,49,51,56,59,61,64,70,73,78,80,81,86,87,88,95,96,102,104,109,111,119,128,156,170,189,203,205,215,218,247,252,306,322,328],bed:61,been:[0,4,5,6,13,14,19,21,22,23,36,38,41,42,43,46,49,51,58,69,70,76,79,85,91,93,94,96,103,105,116,117,123,126,128,131,133,134,135,138,152,153,158,159,164,167,175,180,195,203,204,206,217,218,219,220,221,233,235,239,242,246,247,251,252,260,261,269,281,285,287,295,305,306,307,308,310,316,318,322,326,327,344],befit:125,befor:[1,4,10,11,12,13,14,15,20,21,22,25,27,28,29,31,33,37,41,42,43,46,48,49,51,56,57,58,60,61,67,69,71,75,77,79,80,81,84,85,86,90,91,93,96,97,100,102,103,104,106,107,108,109,111,112,113,114,115,116,117,118,119,121,123,124,125,126,127,131,132,133,134,135,137,138,139,144,150,151,154,159,164,166,167,171,175,184,186,187,188,189,190,194,198,205,206,209,210,215,217,218,219,220,221,226,230,232,233,235,241,242,246,247,250,252,260,261,267,276,285,287,293,301,303,305,306,310,312,316,321,322,323,324,328,329,330,331,335,337,340,344],beforehand:[11,131,323],beg:14,beggar:0,begin:[0,4,6,10,13,14,20,22,25,33,38,41,42,43,46,50,51,55,58,61,69,72,80,91,95,96,106,107,111,116,117,119,127,132,134,165,166,194,205,206,215,217,218,219,220,221,247,321,322,328,341],beginn:[55,60,77,79,91,95,124],behav:[11,13,20,22,29,69,91,95,107,110,127,344],behavior:[0,5,11,31,33,41,50,68,69,93,96,102,109,114,126,135,137,138,144,154,170,182,188,219,221,233,234,267,316,328],behaviour:[11,31,33,80,126,313,324,330,344],behind:[11,12,21,33,38,43,49,51,55,59,61,63,74,97,109,112,114,122,126,131,158,204,233,256,261,334],behvaior:329,being:[0,5,6,10,11,13,20,21,22,25,28,31,33,34,36,37,42,43,51,54,56,59,61,63,64,69,83,88,90,91,93,95,96,102,103,107,109,111,115,118,125,126,127,129,131,133,138,144,151,159,165,169,175,184,185,189,199,205,206,217,218,219,220,221,226,233,239,247,269,272,279,308,310,316,318,321,322,324,328,329,330,344,363],beipmu:24,belong:[4,14,43,64,83,95,103,112,119,133,140,153,206,215,235,239,250],below:[0,1,5,8,9,10,11,12,13,14,15,19,20,22,23,25,27,29,31,33,34,36,38,39,42,43,48,49,50,51,57,58,59,60,61,62,63,64,67,69,70,74,80,81,87,88,90,94,95,96,100,102,105,106,109,110,111,114,117,118,119,123,125,127,131,133,134,136,138,140,148,159,167,177,180,182,185,190,205,206,215,217,218,219,220,221,228,234,239,246,247,256,279,299,316,318,319,328,330,335],belt:77,beneath:27,benefici:[49,219],benefit:[78,90,100,103,108,127,153,316,322,328],besid:[0,14,31,106,111,190],best:[9,22,24,26,37,50,51,57,58,59,61,72,76,102,103,104,108,133,135,139,166,180,205,215,234,252,267,287,330,338,364],bet:[31,105,138,318],beta:[35,54,90],betray:51,better:[0,9,15,23,25,34,41,42,44,45,51,55,58,59,61,64,68,70,73,81,85,86,91,93,95,108,109,112,114,133,134,181,213,218,233,247,252,284,287,290,298,316,322],bettween:73,between:[0,2,10,14,22,25,28,31,33,36,38,39,40,41,43,46,49,56,57,58,64,67,69,73,76,83,85,87,88,90,91,100,102,105,109,112,113,114,116,120,121,122,123,124,126,131,137,138,140,151,154,159,164,166,169,170,177,179,182,183,194,195,198,199,202,204,205,206,215,217,218,219,220,221,247,252,261,267,276,279,286,287,290,291,298,299,306,319,321,322,324,328,330,331,344,351],bew:187,bewar:39,beyond:[1,2,9,22,25,33,37,52,57,64,88,89,90,102,127,134,154,159,170,177,180,206,215,226,233,251,316,318,328,330],bg_colormap:343,bgcolor:343,bgfgstart:343,bgfgstop:343,bgstart:343,bgstop:343,bias:159,bidirect:276,big:[9,11,13,14,20,25,28,29,33,37,45,57,73,80,96,122,138,140,151,166,168,226,322,329,341,344],bigger:[21,37,40,69,119,123,205],biggest:[72,138,344],biggui:33,bigmech:21,bigsw:29,bikesh:119,bill:[90,103],bin:[4,9,36,47,63,64,70,75,96,100],binari:[23,47,63,93,95,278,280,295],bind:67,birth:357,bit:[0,4,9,12,17,22,26,29,35,39,41,42,43,46,59,61,62,63,69,75,76,81,96,102,106,109,121,122,127,131,134,137,138,164,171,186,242,247,322],bitbucket:57,bite:[61,111],black:[73,114,126,321],blackbird:79,blackbox:138,blacklist:[103,164],blade:232,blank:[51,86,117,134,144,188,321],blankmsg:188,blarg:83,blargh:109,blatant:12,blaufeuer:119,bleed:[114,131,330],blend:203,blender:203,bless:138,blind:[114,118,226],blind_target:226,blindcmdset:226,blindli:242,blink:[20,226,343],blink_msg:226,blist:97,blob:[3,37,38,41,46,95,96,104,127,135,138],block:[3,12,25,28,43,50,51,55,58,64,69,80,90,91,97,102,103,110,114,123,129,133,134,139,157,158,159,187,221,230,231,232,235,249,286,322,328,344],blocking_cmdset:25,blockingcmdset:25,blockingroom:25,blocktitl:69,blog:[37,55,79,90,98],blowtorch:24,blue:[13,57,81,114,126,232,321],blueprint:[57,96,111,137],blurb:54,board:[34,49,61,79,80,121],boat:[31,121,153],bob:[33,43,81,138,157],bodi:[3,17,22,27,33,38,41,46,51,58,95,109,127,129,133,193,199,269,324],bodyfunct:[20,102,141,142,178,222,228],bog:21,boi:112,boiler:125,bold:54,bolt:252,bone:[55,73],bonu:[41,73,90,218,219,256],bonus:[29,218],boo:57,book:[3,49,57,62,73,79,91,95,109,135],bool:[2,31,33,34,51,74,84,102,144,146,148,150,151,152,153,154,159,164,166,175,176,177,179,180,182,184,185,188,190,192,195,204,205,206,215,217,218,219,220,221,235,238,242,246,247,251,252,256,257,258,259,260,261,267,272,273,278,279,284,285,286,290,295,296,304,306,308,310,316,317,318,319,321,322,324,326,328,329,330,331,334,337,339,341,343,344],booleanfield:133,boom:[21,51],boot:[80,100,110,157,164,175,261],boot_us:164,bootstrap:[4,124,138,139,364],border:[43,58,111,156,170,188,327,330],border_bottom:330,border_bottom_char:330,border_char:330,border_left:330,border_left_char:330,border_right:330,border_right_char:330,border_top:330,border_top_char:330,border_width:330,borderless:58,borderstyl:188,bore:[12,55,103],borrow:[31,63,152,276],bort:[52,328],boss:58,bot:[43,47,65,72,93,103,119,133,141,142,143,148,164,272,278,279,286,308],bot_data_in:[146,272],both:[0,11,15,19,22,23,25,26,27,31,33,34,36,37,38,40,43,44,49,51,56,57,58,62,65,69,71,74,79,84,85,86,87,88,90,91,95,97,103,104,105,106,110,111,116,119,121,124,125,127,128,131,133,134,136,138,150,152,159,164,169,177,179,183,190,199,203,212,215,220,221,233,242,247,251,252,253,256,259,261,276,285,295,296,305,307,310,316,317,321,324,328,330,339,344],bother:[29,103,128,316],botnam:[43,72,164,279,308],botnet:103,botstart:146,bottom:[4,39,41,52,54,57,58,60,69,85,95,101,106,111,125,127,133,137,153,199,220,235,252,322,329,330],bought:85,bouncer:[27,103,327],bound:[6,27,57,108,192,344],boundari:344,bounti:70,bountysourc:70,bow:252,box:[0,3,8,20,42,43,46,58,63,66,69,70,71,73,80,87,90,104,106,109,111,123,135,138,159,206,241,276,322,357],brace:[0,22,25,41,91,247,321],bracket:[38,43,96,129,169,183],brainstorm:[139,364],branch:[9,36,37,38,41,63,70,100,204,215],branchnam:131,brandymail:199,bread:16,breadth:221,break_lamp:226,break_long_word:330,break_on_hyphen:330,breakdown:[43,169],breakpoint:[16,106,141],breez:[102,132],breviti:58,bribe:51,brick:82,bridg:[22,23,53,79,83,105,233],bridgecmdset:233,bridgeroom:233,brief:[3,16,19,20,21,25,46,58,60,85,86,95,96,101,110,124,131,139,188,234,247,311],briefer:[89,110],briefli:[16,90,110,226],bright:[81,114,126,183,226,321],brightbg_sub:321,brighten:114,brighter:114,brilliant:131,bring:[23,49,96,100,103,121,123,133,136,215,221,231,309],broad:39,broadcast:[43,144,175,276],broader:[39,206,247],broadli:94,broken:[61,108,114,205,226],brought:102,brown:321,brows:[3,9,25,39,55,58,62,69,85,90,91,103,106,123,131,136,137,138],browser:[3,8,9,16,38,55,63,64,67,69,70,75,77,90,95,96,101,103,133,134,135,136,137,138,295,296],brutal:234,bsd:78,bsite:135,bsubtopicnna:170,btest:114,btn:[17,70],bucket:209,buf:326,buffer:[22,33,50,137,168,269,296,326],bug:[10,13,26,37,42,54,57,60,61,70,78,94,95,96,110,123,127,131,247,318],buggi:[11,328],bui:[85,138,179],build:[1,6,7,9,10,11,13,14,15,27,31,36,47,51,55,57,60,63,64,68,69,75,77,79,80,81,86,87,89,96,100,105,106,108,109,112,113,119,120,122,123,125,129,130,136,137,139,140,141,142,149,151,155,157,158,165,166,169,180,187,193,205,206,212,231,234,242,247,251,252,267,278,279,322,330,357,363,364],build_match:151,builder:[2,4,14,19,22,25,43,56,58,60,61,68,80,85,108,109,112,114,123,124,139,157,159,164,165,169,180,182,187,188,203,206,212,226,233,234,235,242,247,298,318,322,363,364],buildier:252,building_menu:[141,142,178],buildingmenu:[22,180],buildingmenucmdset:180,buildprotocol:[264,277,278,279],buildshop:85,built:[13,16,20,27,38,40,51,54,55,57,58,61,63,64,73,75,77,95,96,100,103,121,122,123,135,138,139,148,177,203,205,239,246,256,261,316,318,319,322,326,328,335],builtin:[94,280],bulk:[96,103],bullet:[38,61],bulletin:[61,79,80],bulletpoint:38,bunch:[15,27,58,108,113],burden:82,buri:[108,122],burn:[61,73,90,232],busi:[64,70,90,179],butch:96,butt:138,butter:16,button:[9,13,14,31,33,43,80,83,87,88,106,131,133,134,135,137,138,159,226,232,299,329],button_expos:232,buy_ware_result:85,byngyri:205,bypass:[4,10,19,20,43,58,80,116,126,144,159,175,212,242,318,324,341,344,349],bypass_mut:175,bypass_superus:80,bytecod:321,bytestr:[276,344],bytestream:344,c20:164,c6mq:70,c_creates_button:299,c_creates_obj:299,c_dig:299,c_examin:299,c_help:299,c_idl:299,c_login:299,c_login_nodig:299,c_logout:299,c_look:299,c_move:299,c_moves_:299,c_moves_n:299,c_social:299,cabinet:92,cabl:82,cach:[6,8,11,12,28,33,39,43,86,119,125,127,130,137,144,154,169,175,187,231,232,242,246,247,271,310,316,318,319,320,332,334,344],cache_inst:334,cache_lock_bypass:242,cache_s:[310,334],cached_properti:344,cactu:220,cake:31,calcul:[10,25,27,39,73,116,119,123,139,153,184,187,198,205,217,218,220,221,252,331,334,344],calculated_node_to_go_to:51,calculu:56,calendar:[184,198,331],call:[0,2,3,4,5,6,10,11,13,14,16,20,21,22,23,25,26,27,28,29,30,31,36,38,39,40,41,42,43,46,47,48,49,50,51,55,56,57,58,59,60,61,62,63,64,65,69,71,72,73,74,75,80,81,83,84,85,86,88,89,90,91,93,95,96,100,102,104,105,107,108,109,110,111,114,115,116,117,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,137,138,144,146,150,151,152,153,154,156,159,164,167,168,169,170,171,175,179,180,182,184,185,186,187,188,189,192,193,194,195,196,198,203,204,205,206,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,242,246,247,250,251,252,257,259,260,261,264,267,269,271,272,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,294,295,296,298,299,300,305,306,307,308,309,312,316,318,319,321,322,323,324,326,328,329,330,331,334,337,339,340,341,344,357],call_async:10,call_command:127,call_ev:[0,194],call_inputfunc:[83,306,308],call_task:260,callabl:[49,50,84,109,115,123,180,188,195,215,219,247,250,251,252,257,261,265,267,269,277,308,323,326,328,329,337,339,340,344],callables_from_modul:344,callbac:22,callback1:328,callback:[4,10,22,27,29,33,50,51,62,74,84,115,138,146,180,184,188,192,193,194,195,196,198,210,215,230,247,257,260,261,265,267,269,272,276,277,278,280,294,295,298,309,328,331,337,342,344,364],callback_nam:[192,195],callbackhandl:[141,142,178,191],called_bi:150,calledbi:344,caller:[5,10,11,13,21,22,25,27,28,29,30,33,38,41,42,43,44,49,50,56,58,59,60,71,73,80,81,82,83,85,86,87,88,89,91,111,115,116,119,121,123,125,129,137,146,150,151,152,154,156,159,160,164,165,166,167,169,170,180,188,193,199,203,206,214,215,226,230,232,233,234,235,242,247,249,251,252,322,326,328,329,338,344],callerdepth:344,callertyp:150,callinthread:312,calllback:194,callsign:[51,272],calm:111,came:[9,21,25,55,79,111,132,138,231,235,247],camp:111,campfir:111,campsit:111,can:[0,1,2,3,4,5,6,9,10,12,13,14,15,17,19,20,21,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,133,134,135,136,137,138,139,140,143,144,146,148,151,152,153,154,156,157,159,164,165,166,167,168,169,170,175,176,177,179,180,182,183,184,185,187,188,189,190,194,195,198,199,203,204,205,206,209,212,215,217,218,219,220,221,226,231,232,233,234,235,239,241,242,246,247,250,251,252,253,256,257,259,261,267,278,282,285,287,290,291,295,296,298,299,305,306,307,308,309,312,313,314,316,317,318,319,321,322,323,324,326,327,328,329,330,338,339,340,341,342,344,345,357,363],can_:194,cancel:[27,29,74,194,217,218,219,220,221,247,260],candid:[22,33,119,133,151,203,206,247,341],candl:153,cannot:[5,9,10,11,13,14,19,21,22,25,27,28,29,31,33,39,43,44,46,50,51,56,60,61,63,69,70,73,76,80,85,90,104,109,112,114,122,123,127,128,133,139,144,146,153,156,159,166,180,187,188,192,195,212,215,221,231,232,238,242,247,251,261,316,323,325,327,330,334,344],cantanker:338,cantclear:188,cantillon:79,cantmov:25,canva:49,capabl:[6,36,43,49,58,64,80,83,88,105,156,214,272,294,357],cape:57,capfirst:69,capit:[9,12,25,29,43,64,88,95,123,159,189,204,205,321],captcha:133,caption:38,captur:[25,91,138,337],car:[87,121],card:103,cardin:[43,44,49,58,159],care:[0,4,10,12,23,33,38,44,49,51,56,57,62,64,78,86,91,110,116,121,126,132,144,152,175,187,203,206,230,231,233,241,247,318,322,326,328,329,330,344],carefulli:[55,93,105,111,133],carri:[20,31,61,80,82,85,116,117,177,182,218,231,241,306,317],cascad:334,caseinsensitivemodelbackend:349,cast:[28,109,112,215,220],caster:[28,220],castl:[13,111,122,187,233],cat:[67,75],catchi:4,categor:112,categori:[1,5,11,33,36,39,43,51,68,69,86,109,112,119,127,140,154,155,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,238,239,241,247,251,252,316,317,319,324,326,328,329,335,338,341,344],categoris:56,category2:335,category2_id:335,category_id:335,category_index:215,cater:29,caught:[42,51,97,176],caus:[11,12,29,30,31,42,60,61,64,77,80,90,96,114,116,117,119,123,127,137,140,153,175,186,226,235,247,298,328,330,344],caution:[62,137,328],cave:46,caveat:[5,10],caveman:56,cblue:131,cboot:[12,164],cc1:63,cccacccc:327,ccccc2ccccc:58,cccccccc:327,ccccccccccc:58,cccccccccccccccccbccccccccccccccccc:327,ccccccccccccccccccccccccccccccccccc:327,ccreat:[41,58,65,72,98,164],cdesc:[41,164],cdestroi:164,cdmset:31,cdn:103,ceas:[43,77,159],cel:327,celebr:61,cell:[58,69,111,188,327,330],celltext:327,censu:317,center:[4,16,39,49,109,111,114,190,321,330,344],center_justifi:109,centos7:67,centr:111,central:[26,55,61,64,74,100,111,123,124,127,132,138,139,144,153,170,175,177,247,252,276,324,328,334,347,363,364],centre_east:111,centre_north:111,centre_south:111,centre_west:111,centric:[9,80,105,123,206],cert:[8,288,292],certain:[13,14,16,19,25,29,31,33,37,38,43,48,64,75,80,88,90,97,102,105,107,108,114,115,121,138,159,176,179,205,209,226,232,235,241,251,259,267,273,290,294,309,316,317,326,330,341,344,357],certainli:[15,44,138],certbot:[67,90,103],certfil:[288,292],certif:[8,90,288,292],certonli:67,cet:337,cfg:67,cflag:75,cgi:[70,90],ch28s03:57,cha:[51,58],chain:[0,10,29,46,51,109,119,194,195,299,328],chain_1:0,chainedprotocol:287,chainsol:119,chair:[13,61,89,91,112,125],challeng:[73,79],chan:164,chanalia:[43,164],chanc:[21,22,28,31,54,61,66,73,115,116,122,131,152,217,218,219,220,221,226,232,233,299],chance_of_act:299,chance_of_login:299,chandler:116,chang:[2,3,4,7,8,9,11,12,13,14,15,16,19,20,21,22,23,26,29,30,31,33,34,35,36,37,39,41,42,43,45,47,49,50,51,53,54,57,61,62,63,64,66,67,68,71,73,74,75,77,78,80,81,83,84,85,86,87,89,90,91,94,95,96,100,102,104,105,107,109,110,111,112,114,115,116,118,121,123,125,126,127,132,133,134,135,137,138,139,144,153,154,156,157,159,164,165,170,175,179,180,182,186,187,189,190,192,195,202,205,206,212,213,215,217,218,219,220,221,231,232,233,234,235,239,247,252,256,257,259,260,261,267,272,283,298,305,306,313,316,318,322,325,326,329,330,337,338,339,340],change_name_color:215,changeabl:76,changelock:164,changelog:96,changepag:134,changepassword:12,chanlist:43,channam:41,channel:[2,6,7,11,12,19,27,31,33,45,53,55,57,65,70,71,72,79,80,82,86,87,90,98,107,112,119,123,124,125,138,139,144,146,152,153,159,164,170,172,175,176,177,195,226,271,278,279,286,299,306,308,316,324,337,341,360,364],channel_:[34,175],channel_ban:[41,164],channel_color:25,channel_command_class:[34,41],channel_connectinfo:306,channel_list_ban:164,channel_list_who:164,channel_msg:144,channel_msg_nick_pattern:175,channel_msg_nick_replac:[164,175],channel_msg_pattern:164,channel_prefix:[25,175],channel_prefix_str:175,channel_search:176,channel_typeclass:360,channelalia:[164,175],channelcl:164,channelcmdset:31,channelcommand:[34,41],channelconnect:177,channelcr:[43,164],channelcreateview:175,channeldb:[41,53,125,141,175,177,314],channeldb_set:[316,319],channeldbmanag:[176,177],channeldeleteview:175,channeldesc:41,channeldetailtest:360,channeldetailview:175,channelhandl:[34,41,141,142,172],channelkei:[41,176],channellist:43,channellisttest:360,channelmanag:[175,176],channelnam:[34,41,72,144,146,164,175,278],channelupdateview:175,char1:[43,73,127,165,170,360],char2:[43,73,127,165,360],char_health:233,char_nam:133,charac:84,charact:[0,2,5,9,11,14,15,17,19,20,21,22,23,27,28,29,30,31,33,34,36,39,40,41,42,43,45,47,49,50,51,53,55,56,57,62,68,69,71,74,76,77,80,81,83,85,86,87,88,91,95,97,102,105,111,113,114,116,117,118,119,120,121,122,124,125,127,129,135,136,138,139,141,143,144,151,152,154,156,159,160,161,165,166,167,175,180,181,182,187,188,189,190,192,194,195,199,202,204,205,206,209,214,215,217,218,219,220,221,223,226,231,232,233,235,239,242,247,259,272,293,306,311,316,318,321,322,327,328,330,342,344,345,357,360,364],character1:73,character2:73,character_cmdset:187,character_id:247,character_typeclass:[127,144,342,360],charactercmdset:[5,21,22,25,30,31,41,43,44,57,58,60,62,81,123,161,180,182,187,199,202,212,217,218,219,220,221,233],charactercreateview:360,characterdeleteview:360,characterform:357,characterlistview:360,charactermanageview:360,characternam:114,characterpuppetview:360,charactersheet:51,characterupdateform:357,characterupdateview:360,charapp:133,charat:188,charcreat:[0,46,69,156,181],chardata:58,chardelet:156,chardeleteview:[239,318],chardetailview:[239,318],charfield:[86,133,340,357],charg:90,chargen:[133,139,141,142,175,178,239,318],chargencmdset:123,chargenroom:123,chargenview:[239,318],charnam:[43,58,156],charpuppetview:318,charset:344,charsheet:58,charsheetform:58,charupdateview:[239,318],chase:122,chat:[1,2,9,26,34,37,48,55,57,58,60,63,65,70,72,79,80,98,123,131,139,296,337],chatroom:57,chatzilla:72,cheap:131,cheaper:[61,115],cheapest:90,cheapli:233,cheat:[23,38,73],cheatsheet:48,chec:170,check:[0,4,5,12,13,14,19,22,25,26,27,28,29,31,33,36,37,38,39,40,41,42,43,44,46,49,51,54,56,58,60,63,65,67,68,69,70,71,73,77,81,82,85,86,87,89,90,91,95,97,98,100,102,103,106,109,110,111,112,114,115,116,117,118,119,121,123,125,127,128,130,131,133,136,138,139,144,150,151,152,153,154,156,158,159,164,165,166,167,169,170,171,175,177,179,181,182,186,187,188,195,199,217,218,219,220,221,223,226,231,233,234,235,241,242,246,247,251,252,256,258,259,260,266,267,271,276,282,287,306,308,310,311,312,316,318,319,321,322,324,338,339,344,345],check_attr:159,check_circular:296,check_databas:267,check_db:267,check_defeat:73,check_end_turn:116,check_error:266,check_evennia_depend:344,check_from_attr:159,check_grid:49,check_has_attr:159,check_light_st:233,check_lockstr:[4,80,242],check_main_evennia_depend:267,check_obj:159,check_permiss:251,check_permstr:[144,318],check_show_help:166,check_to_attr:159,check_warn:266,checkbox:133,checker:[15,49,94,241,287,345],checkout:[9,100,131],checkoutdir:36,chest:[80,91],child:[6,33,43,51,64,80,96,116,146,148,154,159,170,233,246,252,256,312,335],childhood:51,children:[21,33,64,96,112,117,119,125,148,246,247,256,267,317,335],chillout:[43,159],chime:27,chines:[25,79,113],chip:58,chmod:36,choci:180,chocol:60,choic:[4,15,23,33,43,51,55,60,78,90,91,95,105,107,109,113,116,119,124,127,129,132,144,156,159,179,180,188,217,234,265,326,328],choice1:129,choice2:129,choice3:129,choos:[7,9,10,13,38,49,51,57,62,64,67,72,73,85,101,106,116,120,123,126,133,135,138,139,140,170,214,215,217,218,219,220,221,226,231,280,328,343,364],chop:[33,232],chore:68,chose:[54,58,86,103,133,215,328],chosen:[22,51,88,106,116,132,138,188,190,328],chown:100,chractercmdset:233,christin:96,chrome:24,chronicl:188,chroot:67,chug:33,chunk:[13,69,111,269,322],church:27,church_clock:27,cid:299,cillum:52,circl:39,circuit:137,circular:[269,323],circumst:[46,51,57,85,119,152,220,357],circumv:[43,157],claim:83,clang:75,clank:0,clarif:[1,48],clarifi:25,clariti:[75,86,91,123],clash:[23,31,43,90,159,318,328],class_from_modul:344,classic:[3,13,79,105,112,115,116],classmethod:[39,144,175,239,247,259,318,334,351],classnam:11,classobj:318,claus:[78,118],clean:[1,4,17,25,28,43,48,51,76,110,111,114,116,122,131,152,154,159,179,206,217,218,219,220,221,232,233,235,247,256,267,271,285,295,308,318,321,326,328,334,340,343,344,357],clean_attribut:[125,144,318],clean_cmdset:[125,318],clean_senddata:308,clean_stale_task:260,clean_str:321,cleaned_data:133,cleaner:[91,123],cleanli:[64,102,105,110,150,154,164,188,269,278,284,295,308,326],cleanup:[1,11,22,33,40,43,45,50,51,102,127,179,230,233,328],clear:[1,4,11,12,15,22,29,33,37,38,40,43,48,50,59,61,64,69,70,73,81,104,110,111,112,113,115,125,128,129,131,132,137,138,153,156,157,159,165,188,204,206,233,242,246,247,257,260,261,269,306,310,316,318,319,328,334],clear_attribut:316,clear_client_list:303,clear_cont:[89,247],clear_exit:[89,247],clearal:[43,129,165],clearli:[12,37,48,128,334],cleartext:[210,324],clemesha:312,clever:[10,31,51,95,242],cleverli:105,click:[36,38,69,90,101,106,114,128,131,133,135,137,138,328],clickabl:[18,38],client:[3,7,8,9,12,22,23,25,30,33,36,40,43,45,50,52,54,55,60,63,64,65,67,72,74,75,79,81,84,91,95,96,100,101,103,104,105,107,108,111,113,114,116,117,126,128,136,138,139,141,142,144,146,154,156,164,169,210,262,264,268,270,272,276,277,278,279,280,281,282,283,285,287,289,290,291,292,294,295,296,298,299,305,306,307,308,325,326,328,343,344,364],client_address:40,client_default_height:52,client_disconnect:296,client_encod:23,client_opt:[272,291],client_secret:65,client_width:[33,154],clientconnectionfail:[264,278,279],clientconnectionlost:[264,278,279],clientfactori:298,clienthelp:137,clientraw:[43,169],clientsess:[295,296],cliff:[20,43,159],climat:112,climb:[33,43,55,77,93,159,232],climbabl:232,clipboard:[1,48],clist:43,clock:[12,27,33,73,164],clone:[38,47,63,64,76,96,128,130],close:[0,14,22,25,38,39,40,41,43,46,48,50,51,64,69,76,90,94,96,100,103,105,106,110,125,131,133,137,169,171,179,180,186,190,212,221,226,230,269,277,278,285,287,295,296,308,316,322,328],close_menu:[230,328],closer:[205,221],closest:[39,114,344],cloth:[141,142,178,322],clothedcharact:182,clothedcharactercmdset:182,clothes_list:182,clothing_typ:182,clothing_type_count:182,clothing_type_ord:182,cloud:[90,100,102,103,132],cloudi:102,clr:[114,251],cls:[39,144],clue:232,clunki:[131,221],clutter:[38,153],cma:131,cmd:[12,14,22,25,28,29,31,33,41,43,44,53,58,60,62,70,71,80,82,85,88,95,121,123,136,152,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,236,247,291,295,296,322,326,328,329],cmd_abil_result:127,cmd_arg:91,cmd_channel:33,cmd_help_dict:166,cmd_ignore_prefix:151,cmd_kei:91,cmd_last:105,cmd_last_vis:105,cmd_loginstart:33,cmd_multimatch:[33,150],cmd_na_m:88,cmd_name:88,cmd_noinput:[33,150,328],cmd_nomatch:[33,150,233,328],cmd_noperm:33,cmd_on_exit:[51,188,215,230,249,328],cmd_total:105,cmdabil:[60,127],cmdabout:169,cmdaccept:179,cmdaccess:165,cmdaddcom:164,cmdallcom:164,cmdapproach:221,cmdarmpuzzl:203,cmdasync:10,cmdattack:[29,73,116,123,217,218,219,220,221,232],cmdban:157,cmdbatchcod:158,cmdbatchcommand:158,cmdbigsw:29,cmdblindhelp:226,cmdblindlook:226,cmdblock:25,cmdboot:157,cmdbridgehelp:233,cmdbui:85,cmdbuildshop:85,cmdcallback:193,cmdcast:220,cmdcboot:164,cmdcdesc:164,cmdcdestroi:164,cmdchannel:164,cmdchannelcr:164,cmdcharactercr:181,cmdcharcreat:156,cmdchardelet:156,cmdclimb:232,cmdclock:164,cmdcloselid:226,cmdcolortest:156,cmdcombathelp:[217,218,219,220,221],cmdconfigcolor:81,cmdconfirm:33,cmdconnect:41,cmdcopi:159,cmdcover:182,cmdcpattr:159,cmdcraftarmour:29,cmdcreat:159,cmdcreatenpc:123,cmdcreatepuzzlerecip:203,cmdcwho:164,cmddarkhelp:233,cmddarknomatch:233,cmddeclin:179,cmddefend:116,cmddelcom:164,cmddesc:[159,187],cmddestroi:159,cmddiagnos:30,cmddice:[58,185],cmddig:159,cmddisconnect:41,cmddisengag:[116,217,218,219,220,221],cmddoff:218,cmddon:218,cmddrop:[165,182],cmdeast:233,cmdecho:[5,29,33,38,170],cmdedit:180,cmdeditnpc:123,cmdeditorbas:326,cmdeditorgroup:326,cmdeditpuzzl:203,cmdemit:157,cmdemot:206,cmdentertrain:121,cmdevalu:179,cmdevenniaintro:233,cmdevmenunod:328,cmdexamin:159,cmdexiterror:44,cmdexiterroreast:44,cmdexiterrornorth:44,cmdexiterrorsouth:44,cmdexiterrorwest:44,cmdextendedroomdesc:187,cmdextendedroomdetail:187,cmdextendedroomgametim:187,cmdextendedroomlook:187,cmdfeint:116,cmdfight:[217,218,219,220,221],cmdfind:159,cmdfinish:179,cmdforc:157,cmdget:[25,165],cmdgetinput:328,cmdgetweapon:232,cmdgive:[165,182],cmdgmsheet:58,cmdgrapevine2chan:164,cmdhandler:[31,33,83,89,141,142,144,149,151,152,153,154,156,167,168,170,187,203,233,246,247,256,344],cmdhelp:[116,166,217,218,219,220,221],cmdhit:116,cmdhome:165,cmdic:156,cmdid:272,cmdinsid:121,cmdinterrupt:170,cmdinventori:[82,165,182],cmdirc2chan:164,cmdircstatu:164,cmdlaunch:21,cmdlearnspel:220,cmdleavetrain:121,cmdlen:[151,168],cmdlight:232,cmdline:267,cmdlineinput:326,cmdlink:159,cmdlistarmedpuzzl:203,cmdlistcmdset:159,cmdlisthangout:119,cmdlistpuzzlerecip:203,cmdlock:159,cmdlook:[30,127,165,181,187,233],cmdlookbridg:233,cmdlookdark:233,cmdmail:199,cmdmailcharact:199,cmdmakegm:58,cmdmask:206,cmdmobonoff:231,cmdmore:329,cmdmorelook:329,cmdmultidesc:[57,202],cmdmvattr:159,cmdmycmd:[56,68],cmdname2:151,cmdname3:151,cmdname:[40,59,74,83,88,123,137,150,151,154,159,167,168,170,272,290,291,295,296,308],cmdnamecolor:215,cmdnewpassword:157,cmdnick:165,cmdnoinput:180,cmdnomatch:180,cmdnpc:123,cmdnudg:226,cmdobj:[150,151,168,170],cmdobj_kei:150,cmdobject:[150,151,169],cmdoffer:179,cmdooc:156,cmdooccharactercr:181,cmdooclook:[156,181],cmdopen:[159,212],cmdopenclosedoor:212,cmdopenlid:226,cmdoption:156,cmdpage:164,cmdparri:116,cmdparser:[104,141,142,149],cmdpass:[217,218,219,220,221],cmdpassword:156,cmdperm:157,cmdplant:234,cmdpoke:119,cmdpose:[116,165,206],cmdpressbutton:232,cmdpushlidclos:226,cmdpushlidopen:226,cmdpy:169,cmdquell:156,cmdquit:156,cmdread:232,cmdrecog:206,cmdreload:169,cmdremov:182,cmdreset:169,cmdrest:[217,218,219,220,221],cmdroll:91,cmdrss2chan:164,cmdsai:[116,165,206],cmdsaveyesno:326,cmdscript:[159,169],cmdsdesc:206,cmdser:328,cmdserverload:169,cmdservic:169,cmdsession:156,cmdset:[2,7,14,21,22,25,31,33,34,40,41,42,44,47,51,53,57,60,62,68,69,81,82,85,89,96,97,105,116,121,123,141,142,144,149,150,151,153,154,159,160,161,162,163,166,167,168,169,170,179,180,181,182,185,187,189,193,199,203,206,213,214,217,218,219,220,221,226,230,231,232,233,234,246,247,256,298,305,306,318,326,328,329,344],cmdset_account:[2,141,142,149,155,181],cmdset_charact:[5,96,141,142,149,155,182,217,218,219,220,221],cmdset_mergetyp:[51,188,230,249,328],cmdset_prior:[51,188,230,249,328],cmdset_red_button:[141,142,178,222],cmdset_sess:[105,141,142,149,155],cmdset_stack:153,cmdset_storag:[148,246,306],cmdset_trad:179,cmdset_unloggedin:[33,141,142,149,155,186],cmdsetattribut:159,cmdsetclimb:232,cmdsetcrumblingwal:232,cmdsetdesc:165,cmdsetevenniaintro:233,cmdsethandl:[105,141,142,149],cmdsethelp:166,cmdsethom:159,cmdsetkei:31,cmdsetkeystr:152,cmdsetlight:232,cmdsetmor:329,cmdsetobj:[152,153,160,161,162,163,179,180,181,182,185,187,203,206,214,217,218,219,220,221,226,230,231,232,233,326,328,329],cmdsetobjalia:159,cmdsetpow:123,cmdsetread:232,cmdsetspe:213,cmdsettestattr:50,cmdsettrad:179,cmdsettrain:121,cmdsetweapon:232,cmdsetweaponrack:232,cmdsheet:58,cmdshiftroot:232,cmdshoot:[21,221],cmdshutdown:169,cmdsmashglass:226,cmdsmile:33,cmdspawn:159,cmdspellfirestorm:28,cmdstatu:[179,220,221],cmdstop:213,cmdstring:[33,58,150,154,167,170],cmdstyle:156,cmdtag:159,cmdtalk:214,cmdteleport:159,cmdtest:[29,42,91],cmdtestid:33,cmdtestinput:51,cmdtestmenu:[51,188,328],cmdtime:[62,169],cmdtrade:179,cmdtradebas:179,cmdtradehelp:179,cmdtunnel:159,cmdtutori:233,cmdtutorialgiveup:233,cmdtutoriallook:233,cmdtutorialsetdetail:233,cmdtweet:71,cmdtypeclass:159,cmdunban:157,cmdunconnectedconnect:[171,186],cmdunconnectedcr:[171,186],cmdunconnectedhelp:[171,186],cmdunconnectedlook:[171,186],cmdunconnectedquit:[171,186],cmduncov:182,cmdunlink:159,cmdunwield:218,cmduse:219,cmdusepuzzlepart:203,cmdwait:33,cmdwall:157,cmdwear:182,cmdwerewolf:25,cmdwest:233,cmdwhisper:165,cmdwho:156,cmdwield:218,cmdwipe:159,cmdwithdraw:221,cmdyesnoquest:328,cmset:153,cmsg:43,cmud:24,cnf:[23,36],cnt:119,coast:[111,122],coastal:111,cockpit:21,code:[0,1,2,4,5,6,7,9,10,11,12,14,15,16,18,19,20,29,31,33,34,36,37,39,40,43,45,46,47,48,49,51,53,55,56,57,58,62,63,64,68,69,70,76,77,79,80,83,84,86,88,89,91,93,94,95,96,97,98,100,102,103,104,105,106,109,110,111,112,114,115,116,117,118,119,121,122,123,125,126,127,129,132,134,135,136,139,141,142,144,149,150,153,156,158,159,164,166,169,172,178,179,180,184,185,190,192,195,204,219,233,234,242,252,256,278,279,295,306,309,318,320,321,326,328,330,341,342,343,344,363,364],code_exec:322,codebas:[55,56,127,129,131,139,140,170],codeblock:38,codec:321,codefunc:326,coder:[22,26,56,61,79,96,124,150,247,363],codestyl:37,coerc:339,coexist:126,coin:[61,70,179],col:[3,16,330],cold:[12,43,110,169,252,257,261,305],cole:344,collabor:[4,61,64,90,131,166],collat:[83,251],collect:[11,26,31,136,150,152,203,316,344],collector:136,collectstat:[136,137,267,271],collid:[31,54,90,328],collis:[31,131,310],colon:[27,41,60,80,95,242],color:[16,18,20,33,38,49,51,53,58,59,63,69,74,79,95,109,111,114,124,129,137,139,154,156,170,183,190,206,215,230,234,251,272,279,287,290,295,296,321,330,338,343,345,364],color_ansi_bright_bg_extra_map:183,color_ansi_bright_bgs_extra_map:183,color_ansi_extra_map:183,color_markup:[141,142,178],color_no_default:183,color_typ:321,color_xterm256_extra_bg:183,color_xterm256_extra_fg:183,color_xterm256_extra_gbg:183,color_xterm256_extra_gfg:183,colorablecharact:81,colorback:343,colorcod:343,colour:[27,43,55,139,159,294,321,330],column:[16,38,46,49,58,64,69,86,111,137,154,156,235,330,344],com:[3,8,9,10,16,22,23,37,38,39,41,43,45,46,54,55,61,63,67,70,75,79,90,92,94,95,96,98,100,101,103,104,108,111,122,127,128,130,131,133,135,138,141,164,180,186,279,282,291,295,312,330,343,344,357],comb:1,combat:[11,14,25,28,31,46,55,63,64,73,79,102,108,109,111,117,122,124,125,131,139,153,217,218,219,220,221,231,256,364],combat_:[217,218,219,220,221],combat_cleanup:[217,218,219,220,221],combat_cmdset:116,combat_handl:116,combat_handler_:116,combat_movesleft:[217,218,219,220],combat_scor:123,combat_status_messag:221,combatcmdset:116,combathandl:116,combatscor:123,combatt:11,combin:[8,11,12,20,27,28,30,31,33,34,41,43,55,57,58,84,90,109,112,114,115,118,119,121,127,150,151,152,159,170,202,203,205,226,242,251,261,267,317,319,324,338,344],combo:105,come:[0,2,3,4,6,10,11,15,16,20,21,23,25,27,29,33,34,40,46,49,51,52,55,57,58,61,62,64,69,73,80,83,85,88,91,93,100,105,111,114,116,118,119,121,123,124,126,129,131,133,134,135,137,144,152,187,204,217,218,219,220,221,251,252,285,290,295,296,298,304,321,329],comet:[40,55,137,296],comfort:[15,55,69,91,131],comlist:[43,164],comm:[33,34,41,47,53,64,68,71,141,142,149,155,324],comma:[20,43,46,86,95,114,134,159,167,198,199,242,247],command:[0,2,4,6,8,9,10,11,12,13,15,18,19,20,21,23,24,26,27,34,36,38,40,46,47,48,49,50,51,52,55,56,57,59,61,63,64,65,66,69,72,74,75,76,77,79,80,82,83,86,87,89,90,92,93,95,96,98,102,103,104,105,106,108,109,110,111,112,113,114,117,118,119,120,122,124,125,126,128,129,130,131,136,137,138,139,140,141,142,144,146,175,178,179,180,181,182,185,186,187,188,189,191,194,196,199,202,203,206,210,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,236,239,241,242,247,251,252,256,264,267,272,276,277,285,287,290,291,295,296,298,299,305,306,318,320,321,324,326,328,329,338,341,344,364],command_default_arg_regex:33,command_default_class:25,command_pars:151,commandhandl:[74,153,168],commandmeta:154,commandnam:[33,74,83,234,267,276,306,308],commandset:[5,80,89,153,181],commandtest:[127,170,196],comment:[8,9,13,14,24,25,37,41,48,51,60,90,96,118,125,138,322,328],commerc:79,commerci:[90,106],commerror:176,commit:[15,23,25,36,37,38,64,66,98,100,108,128,130,209],commmand:[212,217,218,219,220,221],common:[1,6,10,12,15,16,20,26,27,30,33,38,40,41,43,51,53,59,60,61,62,63,64,68,69,73,74,79,80,83,88,90,91,94,97,105,107,109,112,113,115,116,119,123,124,125,131,133,139,152,159,164,179,205,206,213,242,256,295,299,317,327,329,339,341,344,350],commonli:[23,63,64,83,86,87,96,104,105,107,115,119,128,170,247],commonmark:38,commun:[8,22,23,33,40,41,45,47,53,55,57,60,64,70,72,79,83,88,90,91,92,103,106,113,114,137,139,144,161,164,172,175,176,177,199,230,246,264,276,277,287,288,290,291,292,293,306,308,324,325,340,364],compact:[85,134,226],compani:[64,88],compar:[4,9,13,15,27,28,29,31,41,44,58,73,83,85,91,97,116,119,123,127,131,136,170,203,205,217,218,219,220,221,241,242,252,321,344],comparison:[13,93,170,241,252,328],compartment:58,compass:20,compat:[14,21,51,94,159,330,337,344],compet:[15,88],compil:[9,33,38,47,56,63,75,76,90,94,95,108,159,165,166,171,182,206,321,326,328,343],compilemessag:76,complain:[42,60,86,91,110,128],complement:[26,107],complementari:113,complet:[2,10,11,13,14,15,22,23,25,27,31,33,36,37,43,44,49,50,58,59,61,62,64,67,70,77,81,85,88,89,90,95,96,102,104,105,107,109,110,111,122,123,127,128,131,139,144,152,153,154,167,169,183,187,188,190,195,218,226,233,247,260,267,269,277,278,295,316,322,327,328,329,341,344,357],complete_task:195,complex:[11,14,15,20,31,33,51,59,61,62,64,73,76,77,86,93,96,100,104,108,111,115,116,123,127,138,153,175,196,204,214,226,252,299,316],complianc:[24,187],compliant:[39,291],complic:[0,10,22,29,41,43,49,69,90,91,111,133,134,171,186,188,215,316],compon:[29,33,40,43,49,58,90,93,94,96,102,110,114,116,124,127,135,137,138,139,159,169,176,177,184,203,205,252,253,256,259,267,296,324,327,341,344,347,364],componentid:137,componentnam:137,componentst:[137,138],compos:[100,188],composit:[293,317],comprehens:[34,55,63,80,93,96,103,124,125,127],compress:[74,272,276,280,340],compress_object:340,compris:144,compromis:[103,209],comput:[10,12,43,49,56,60,63,64,72,73,100,113,115,124,131,132,157,169,206,344,345],computation:115,comsystem:177,con:[43,58,79,171,186],concaten:[67,321],concept:[11,37,38,39,40,46,57,61,69,76,77,92,96,115,124,131,139,181,202],conceptu:[49,51],concern:[25,44,63,76,88,95,96,152,204,239],conch:[94,287,290,298],conclud:[96,179,328],concurr:23,conda:9,conder:322,condit:[8,46,49,55,61,73,85,91,93,96,123,124,150,185,206,219,242,247,259,266,267,312,344],condition:25,condition_result:185,condition_tickdown:219,conditional_flush:334,conduct:136,conductor:121,conect:308,conf:[4,8,9,23,25,35,36,38,40,41,47,54,62,65,67,69,74,76,80,81,86,90,93,102,103,109,114,120,121,127,130,131,133,134,135,139,144,183,267,273,274,313,322,364],confer:[79,344],confid:[37,39,42],config:[2,4,9,36,40,59,63,90,98,103,106,130,131,137,138,139,267,269,273,274,285,364],config_1:2,config_2:2,config_3:2,config_color:81,config_fil:67,configcmd:81,configdict:[287,308],configur:[0,2,7,25,36,38,43,45,47,54,59,62,63,64,69,90,100,103,114,120,124,127,136,138,139,144,148,151,156,209,210,234,269,274,285,308,310,312,313,317,357,364],configut:106,configvalu:59,confirm:[8,33,43,63,103,137,159,186,203,291,294],conflict:[41,42,126],confus:[10,22,26,31,44,58,59,60,64,77,80,87,90,91,93,97,114,119,126,131,136,137,140,164,186],conid:286,conj:247,conjug:247,conjur:220,conn:[43,171,186],conn_tim:105,connect:[0,2,4,7,8,9,11,12,13,17,18,23,24,25,31,33,34,40,41,46,47,49,55,57,60,63,64,65,66,67,69,72,74,76,77,80,83,85,88,89,91,92,93,96,98,100,101,102,103,104,105,107,110,111,114,120,123,125,126,127,136,137,139,144,146,148,156,157,159,164,171,175,177,186,190,192,193,195,210,213,246,247,253,262,264,267,269,276,277,278,279,280,285,286,287,290,295,296,298,299,305,306,307,308,309,312,316,318,324,340,364],connection_cr:107,connection_screen:[35,104],connection_screen_modul:186,connection_set:54,connection_tim:[144,247],connection_wizard:[141,142,262],connectiondon:269,connectionlost:[269,276,277,287,290,298],connectionmad:[264,276,287,290,298],connectionwizard:265,connector:[264,278,279,285,308],consecut:51,consequ:[90,153],consid:[0,4,10,12,13,14,23,26,27,31,33,37,39,40,44,46,51,55,57,61,63,64,70,74,78,80,82,85,86,90,93,96,97,102,103,105,109,112,113,114,115,119,121,125,131,133,134,135,144,152,153,188,203,205,206,221,234,247,252,256,272,287,290,317,322,323,328,329],consider:[68,86,104,111,118,252,330],consist:[2,11,17,33,38,44,46,48,51,68,80,86,92,95,96,109,110,114,116,122,123,135,137,144,151,166,167,175,176,179,203,205,236,242,252,291,296,306,316,318,324,330,344],consol:[9,19,23,26,38,42,43,60,63,64,75,83,90,93,95,96,97,100,106,114,123,137,138,169,206,267],conson:205,constant:[0,88,276,342],constantli:[96,117,233],constitu:[153,167],constraint:[0,23],construct:[20,29,34,36,51,64,119,133,138,252,311,316,321,329,357],constructor:[22,33,180,278],consum:[10,269,344],consumer_kei:[71,120],consumer_secret:[71,120],consumpt:[23,310],contact:[89,90,100],contain:[0,5,7,9,10,11,13,14,16,17,18,20,21,22,25,26,31,33,34,37,38,39,40,41,43,46,47,51,53,55,56,57,62,63,64,68,69,70,75,79,80,86,89,91,95,96,97,101,102,104,105,114,118,119,122,123,124,126,127,128,129,133,134,136,137,138,139,141,142,144,146,149,150,151,152,153,155,158,159,164,166,170,172,180,188,189,192,193,194,195,196,198,203,204,205,206,210,211,213,215,219,226,232,234,235,238,240,247,249,251,252,260,262,266,270,272,298,310,311,312,316,317,318,319,320,321,322,325,327,328,329,330,341,343,344,345,347,355,363],container:100,contempl:56,content:[3,4,13,16,17,21,27,38,39,43,48,49,51,56,58,69,77,79,82,85,89,90,91,93,95,96,117,119,121,123,125,131,133,134,137,138,139,154,157,159,206,246,247,319,321,322,323,326,328,330,341,346,347,355],content_typ:[246,247],contentof:330,contents_cach:246,contents_get:[119,247],contents_set:247,contentshandl:246,context:[46,51,55,69,91,114,119,126,133,180,195,288,292,350],context_processor:350,contextu:112,continu:[7,10,11,21,27,29,33,37,42,45,46,49,51,55,58,60,69,71,75,85,86,90,95,96,112,114,115,116,119,123,124,127,136,139,247,265,276,312,316,328,337,344,364],contrari:[0,38,41,43,62,169,319],contrast:[56,90,96,113,138,291],contrib:[4,13,14,20,38,46,47,53,57,58,62,63,64,73,78,102,116,122,141,142,144,148,309,321,322,349,357,364],contribrpcharact:206,contribrpobject:206,contribrproom:206,contribut:[1,4,22,26,45,55,70,78,82,124,127,131,136,139,178,179,181,182,183,185,187,199,203,204,206,209,210,212,213,214,234,363,364],contributor:[78,180],control:[2,5,7,9,11,12,13,14,19,20,21,31,33,34,36,37,38,42,43,47,50,51,52,53,55,57,58,61,63,64,67,68,73,74,80,81,83,86,89,90,92,93,96,102,103,105,108,109,110,114,118,121,123,124,128,135,138,139,144,146,156,158,159,164,170,179,181,194,206,226,231,233,235,241,247,256,267,306,308,318,328,357,364],convei:[206,247],convenei:107,conveni:[8,9,10,11,21,34,36,40,41,43,51,55,57,59,69,74,80,86,89,96,98,102,106,108,109,110,125,127,133,140,144,159,169,180,199,247,310,322,323,328,329,337,340,341],convent:[0,31,86,96,107,119,126],convention:[41,154,247,318],convers:[51,87,121,127,138,205,214,295,296,321,344,363],convert:[11,27,39,40,49,51,59,62,64,79,81,83,85,87,88,103,109,113,114,119,126,128,157,184,185,188,215,241,251,252,257,276,278,287,290,291,308,312,321,325,328,329,330,331,340,343,344,363],convert_linebreak:343,convert_url:343,convinc:[51,90],cool:[3,9,21,22,26,38,43,61,79,159,164],cool_gui:80,cooldown:[29,116,124,139,364],coord:39,coordi:39,coordin:[49,124,137,139,221,235,364],coordx:39,coordz:39,cope:220,copi:[0,1,4,13,14,20,25,26,33,36,47,48,50,51,62,64,81,90,93,96,100,104,105,109,111,123,128,131,133,135,136,137,138,158,159,182,195,217,218,219,220,221,233,247,267,276,313,321,337],copy_object:247,copyright:[78,90],cor:138,core:[19,37,43,47,49,76,78,88,89,94,96,104,106,125,127,131,139,144,148,169,177,178,199,239,246,247,256,262,274,284,291,305,316,318,319,322,329,335,357],corner:[17,39,57,79,138,235,330],corner_bottom_left_char:330,corner_bottom_right_char:330,corner_char:330,corner_top_left_char:330,corner_top_right_char:330,corpu:205,correct:[10,11,14,21,23,27,30,31,33,37,43,48,50,60,80,91,113,114,121,123,126,150,156,159,170,176,187,203,228,242,282,285,287,293,307,321,344],correctli:[4,8,9,27,29,33,36,38,42,44,49,50,51,61,62,72,77,80,85,90,91,94,97,110,112,115,121,122,123,126,144,148,153,156,257,276,312,340],correl:252,correspond:[20,33,80,83,85,105,135,184,203,215,357],correspondingli:128,corrupt:56,cosi:111,cosin:344,cosmet:235,cost:[28,85,90,220,235],cottag:[111,114],could:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,19,20,21,22,25,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,46,47,48,49,51,55,57,58,60,61,62,63,64,65,68,69,71,72,73,79,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,98,102,106,108,109,111,112,113,114,115,116,117,118,119,120,121,123,125,126,127,128,129,132,133,135,136,138,140,144,153,159,166,176,177,179,180,185,190,198,204,206,213,215,226,233,235,242,247,259,272,291,296,312,318,321,322,326,330,331,334,339,344],couldn:[11,19,39,44,64,76,91,126,134,140,204],count:[64,102,104,116,119,120,152,182,215,219,247,281,285,298,302,308,310,317,321,328,337],count_loggedin:285,count_queri:302,countdown:[20,29],counter:[6,22,29,69,85,105,116,128,146,233,285,298,299,306,328],counterpart:[13,114,272,308,325],countless:95,countnod:51,countri:[43,157],coupl:[22,48,69,100,117,131,175,213],cours:[0,4,9,12,15,21,22,26,33,38,41,46,57,61,64,77,78,91,93,106,108,114,115,122,123,124,132,140,218,221,230],courtesi:12,cousin:[91,129],cover:[6,8,9,13,14,23,29,37,40,48,51,57,59,63,79,80,86,90,95,96,120,127,131,182,187,226,233,247,344,363],coverag:127,coveral:127,cpanel:90,cpattr:159,cpu:[12,43,90,103,169],cpython:93,crack:[61,86],craft:[29,80,111,188],crank:115,crash:[26,60,61,79,103,111,271,316],crate:[20,87,124],crawl:103,crawler:281,cre:[43,171,186],creat:[4,9,11,13,14,15,16,19,22,23,25,26,29,31,34,35,37,38,39,40,41,42,44,46,47,49,50,54,55,56,57,58,60,61,62,63,64,65,66,67,68,70,71,72,73,75,76,77,78,79,80,81,83,85,87,90,91,93,95,96,102,103,104,105,106,107,108,109,112,116,117,118,119,120,122,124,127,129,130,131,132,134,135,136,137,138,139,140,141,142,144,146,148,151,152,153,154,156,159,164,165,166,167,168,169,170,171,175,177,179,180,181,182,184,185,186,187,188,189,194,195,196,198,199,202,203,204,205,206,210,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,239,242,246,247,249,250,251,252,256,259,260,261,264,267,271,272,277,279,280,285,287,288,292,299,307,308,310,312,316,317,318,319,320,322,323,326,327,328,330,331,337,344,360,363],create_:[89,125],create_account:[107,125,141,324],create_attribut:316,create_cal:144,create_channel:[34,141,164,175,271,324],create_charact:[144,247],create_delai:260,create_exit:[159,212],create_exit_cmdset:247,create_forward_many_to_many_manag:[148,177,239,246,256,316,318,319,335],create_game_directori:267,create_grid:49,create_help_entri:[68,141,324],create_kwarg:252,create_match:151,create_messag:[34,141,324],create_object:[13,27,80,85,89,111,123,125,133,141,226,247,252,271,322,324],create_prototyp:[251,252],create_script:[56,102,116,125,141,259,322,324],create_secret_kei:267,create_settings_fil:267,create_superus:267,create_tag:317,create_wild:235,created_on:192,creater:53,creation:[11,14,20,21,38,43,47,49,51,58,60,61,79,80,81,86,89,97,105,111,123,125,131,133,139,140,141,144,148,159,164,166,175,181,203,206,210,212,217,218,219,220,221,232,233,239,246,247,252,256,261,300,318,324,326,327,328,330,357,363],creation_:324,creativ:[79,108],creator:[51,53,79,80,111,123,140,166,175,217,218,219,220,221,247,330],cred:[94,131,287],credenti:[90,103,131,144,287],credentialinterfac:287,credit:[90,103,131,343,344],creset:131,crew:119,criteria:[51,119,176,194,204,251,317,341],criterion:[119,131,144,179,206,238,247,258,341,344],critic:[19,26,31,60,63,67,97,102,105,114,128,242,266,267,337],critici:318,cron:67,crontab:67,crop:[58,114,159,327,330,344],crop_str:330,cross:[111,138,233,330],crossbario:295,crossbow:29,crossroad:111,crowd:[61,103],crt:[8,67],crucial:[91,115],crude:0,cruft:1,crumblingwal:232,crumblingwall_cmdset:232,crush:21,cryptic:138,cryptocurr:103,cscore:123,csessid:[285,295,296,308],csession:[295,296],csrf_token:133,css:[17,55,124,135,136,137,343,347],cssclass:137,ctrl:[48,63,67,90,93,95,100,110,298],culpa:52,cumbersom:[51,121,128,215],cumul:299,cup:70,cupidatat:52,cur_valu:190,cure:[219,220],cure_condit:219,curi:49,curiou:108,curli:[41,96,183],curly_color_ansi_bright_bg_extra_map:183,curly_color_ansi_bright_bgs_extra_map:183,curly_color_ansi_extra_map:183,curly_color_xterm256_extra_bg:183,curly_color_xterm256_extra_fg:183,curly_color_xterm256_extra_gbg:183,curly_color_xterm256_extra_gfg:183,curr_sess:308,curr_tim:187,currenc:[85,120],current:[0,2,9,11,12,13,14,19,20,21,22,25,27,28,29,31,33,38,41,43,46,48,49,50,51,58,59,60,64,68,74,76,77,79,80,85,86,89,94,97,100,102,104,105,106,112,114,115,116,119,120,121,123,124,127,128,131,133,137,138,144,148,150,151,153,154,156,157,159,164,165,166,168,169,179,180,182,187,188,190,195,198,202,204,206,212,213,215,217,218,219,220,221,230,232,233,235,238,246,247,252,256,260,261,267,272,277,283,284,287,288,299,306,308,310,317,318,326,328,330,331,337,338,341,344],current_choic:180,current_cmdset:159,current_coordin:235,current_kei:[250,251],current_us:133,current_weath:102,currentroom:121,curriculum:79,curs:42,curv:[55,56],curx:49,custom:[0,2,6,11,12,14,15,16,17,18,20,21,25,26,27,30,31,33,34,35,43,49,53,55,56,58,60,61,64,65,66,68,69,71,73,74,78,79,83,85,86,87,89,90,97,100,102,104,109,110,112,114,116,117,118,119,121,122,123,125,126,132,133,136,138,139,140,144,146,147,148,150,152,153,154,159,164,165,166,175,179,181,182,184,185,187,188,189,195,198,203,205,206,209,210,226,230,232,233,235,238,245,247,249,250,251,252,255,261,267,271,273,276,298,307,318,323,326,328,329,330,334,338,339,343,344,349,364],custom_add:195,custom_cal:[195,198],custom_gametim:[62,141,142,178],custom_kei:251,custom_pattern:[3,4,69,133,134],customfunc:83,customis:235,customiz:[17,41,180,188,190,206,226],customlog:8,cut:[20,40,49,50,55,91,111,123,252],cute:136,cutoff:344,cvcc:205,cvccv:205,cvccvcv:205,cvcvcc:205,cvcvccc:205,cvcvccvv:205,cvcvcvcvv:205,cvcvvcvvcc:205,cvv:205,cvvc:205,cwho:164,cyan:[114,126],cyberspac:79,cycl:[13,14,25,56,61,62,132,217,218,219,220,221],cyril:15,da2pmzu:122,daemon:[8,67,93,100,103,110,284,312],dai:[25,27,36,56,61,62,100,103,108,120,126,131,132,139,184,187,331,337,344,345],daili:87,dailylogfil:337,dali:205,dalnet:[43,164],dam:56,damag:[14,21,28,61,73,85,103,116,122,217,218,219,220,221,231,232],damage_rang:220,damage_taken:56,damage_valu:[217,218,219,220,221],damn:79,damnedscholar:48,dandi:140,danger:[13,31,38,82,97,105,152],dare:33,dark:[13,14,17,31,73,79,111,114,122,126,153,187,226,233,256,321,322],darkcmdset:233,darker:[114,126],darkgrai:126,darkroom:233,darkroom_cmdset:233,darkstat:233,dash:[38,119,204,215],dashcount:215,data:[2,10,13,15,22,23,25,27,43,56,57,58,59,61,64,75,83,86,87,88,90,93,96,97,100,102,104,109,112,113,119,125,128,133,134,135,137,138,139,144,146,154,159,169,188,190,194,195,206,209,210,246,247,249,251,253,259,261,264,265,269,273,274,276,277,278,279,280,285,286,287,288,290,291,292,294,295,296,298,299,300,305,306,307,308,310,314,316,317,318,319,321,322,323,324,325,327,328,329,330,333,337,338,339,340,344,357],data_in:[40,83,210,276,278,279,285,286,290,295,296,306,307,308],data_out:[40,210,285,287,290,291,296,306,307,308],data_to_port:264,data_to_serv:277,databa:267,databas:[0,4,5,6,7,11,12,13,15,17,19,20,21,23,25,27,28,29,31,34,36,38,39,43,45,47,55,56,57,58,59,60,61,63,64,74,77,80,84,87,89,91,93,100,101,102,104,105,107,110,111,112,115,116,119,123,124,125,127,131,133,134,135,136,138,139,140,144,148,152,153,159,166,169,175,176,177,187,194,195,206,220,233,236,238,239,241,246,247,251,253,256,257,260,261,267,271,273,284,298,305,314,316,317,318,319,322,324,325,332,334,340,341,344,346],datareceiv:[269,276,290,298],dataset:251,datastor:86,datbas:119,date:[7,11,12,23,34,49,62,68,75,76,86,126,128,131,133,138,153,157,209,331,337,345],date_appli:133,date_cr:[125,144,148,177,239,256,316,318],date_join:148,date_s:34,datetim:[62,125,133,316,331,337,338,344,345],datetime_format:344,datetimefield:[86,133,148,177,239,246,256,316,318,344],david:79,day_rot:337,db3:[23,111,128,131],db_:[84,86,119,125,206,247,257,272,341],db_account:[182,246,256],db_account_id:[246,256],db_account_subscript:177,db_attribut:[107,119,148,177,246,256,318],db_attrtyp:316,db_attryp:87,db_categori:[86,316,319],db_category__iequ:86,db_cmdset_storag:[148,182,246],db_data:319,db_date_cr:[86,148,177,182,239,246,256,316,318],db_desc:256,db_destin:[182,246],db_destination__isnul:120,db_destination_id:246,db_entrytext:239,db_header:177,db_help_categori:239,db_help_dict:166,db_hide_from_account:177,db_hide_from_object:177,db_hide_from_receiv:177,db_hide_from_send:177,db_home:[182,246],db_home_id:246,db_index:86,db_interv:256,db_is_act:256,db_is_bot:148,db_is_connect:148,db_kei:[69,84,86,119,125,182,194,239,257,274,316,318,319,357],db_key__contain:125,db_key__icontain:86,db_key__istartswith:119,db_key__startswith:[119,125],db_locat:[84,119,182,246],db_location__db_tags__db_kei:119,db_location__isnul:120,db_location_id:246,db_lock_storag:[177,182,239,316,318],db_messag:177,db_model:[316,319],db_obj:[256,325],db_obj_id:256,db_object_subscript:177,db_permiss:86,db_persist:256,db_properti:272,db_protototyp:251,db_receiver_extern:177,db_receivers_account:177,db_receivers_object:177,db_receivers_script:177,db_repeat:256,db_sender_account:177,db_sender_extern:177,db_sender_object:177,db_sender_script:177,db_sessid:[182,246],db_start_delai:256,db_strvalu:316,db_tag:[119,148,177,239,246,256,318,319],db_tags__db_categori:[39,119],db_tags__db_kei:[39,119],db_tags__db_key__in:39,db_tagtyp:319,db_text:86,db_typeclass_path:[86,120,182,246,318,344],db_valu:[84,274,316],dbef:341,dbhandler:357,dbholder:316,dbid:[43,125,146,164,318],dbid_to_obj:344,dbmodel:317,dbobj:[11,316],dbobject:[11,317,318],dbprototyp:[169,251],dbref:[12,13,20,43,58,66,80,109,111,116,119,121,122,125,128,144,148,157,159,164,169,176,188,203,206,212,233,235,241,246,247,252,256,258,317,318,324,341,344],dbref_search:317,dbref_to_obj:344,dbrefmax:[43,159],dbrefmin:[43,159],dbsafe_decod:340,dbsafe_encod:340,dbserial:[11,97,141,142,257,320],dbshell:[23,86,110,128],dbunseri:325,ddesc:56,deactiv:[43,63,64,81,117,164,187,231,328],dead:[112,231,232,305,308,334],deadli:122,deal:[10,11,12,15,41,51,64,69,73,91,103,105,112,113,116,124,126,127,131,134,138,139,144,179,180,184,188,217,218,219,220,221,246,247,306,318,321,338],dealt:[167,219,220],dealth:219,death:[51,73,120],death_msg:231,death_pac:231,debat:91,debian:[8,23,63,67,131],debug:[14,27,43,45,51,59,72,74,91,95,102,106,135,139,150,154,158,169,188,230,249,267,272,278,279,290,312,322,328,337,344,364],debugg:[15,42,110,141],decemb:90,decend:[51,150],decent:[93,205],decic:205,decid:[4,14,15,25,33,41,46,58,61,69,73,85,86,88,90,103,105,112,114,116,126,138,150,179,217,242,329],deciph:48,decis:[73,115],declar:[114,340],declared_field:357,declin:[51,179],decod:[15,291,321,344],decode_gmcp:291,decode_msdp:291,decoded_text:344,decompos:133,decompress:[276,340],deconstruct:[122,170,228,293,342],decor:[0,29,33,46,107,131,148,170,246,256,264,276,277,318,324,328,329,344],decoupl:[9,251],decoupled_mut:11,decreas:[220,233,326],decrease_ind:326,dedent:[50,344],dedic:[73,90,127],deduc:326,deduce_ind:326,deduct:[73,85,217,218,219,220,221],deem:[37,57,129,131,178],deep:79,deeper:[41,215],deepest:159,deepli:11,deepsiz:344,def:[1,3,4,5,6,10,11,21,22,25,27,28,29,30,31,33,38,39,40,41,42,44,48,49,50,51,56,57,58,60,62,69,71,73,74,79,80,81,82,84,85,89,91,95,96,102,107,109,111,114,116,117,118,119,120,121,123,125,127,132,133,134,170,180,187,234,235,250,296,309,326,328,329,344],def_down_mod:219,defalt_cmdset:71,default_access:[1,11,316,324],default_categori:238,default_channel:34,default_charact:189,default_cmd:[5,21,22,25,28,29,30,41,44,53,57,58,62,81,116,119,141,180,182,187,199],default_cmdset:[5,22,25,30,35,41,44,57,58,60,62,81,105,123,153,180,181,182,187,188,202,212,215,217,218,219,220,221],default_command:25,default_confirm:[159,203],default_error_messag:340,default_help_categori:166,default_hom:[59,109],default_in:137,default_out:137,default_pass:324,default_screen_width:33,default_set:[3,127],default_transaction_isol:23,default_unload:137,defaultaccount:[2,41,43,53,64,125,141,144,146,160,247,342,357],defaultchannel:[6,53,125,141,164,175],defaultcharact:[5,6,22,25,43,53,57,58,60,62,73,81,86,89,96,123,125,127,141,144,161,180,182,189,206,217,218,219,220,221,247,342,357],defaultcmdset:185,defaultdict:257,defaultexit:[6,53,85,89,125,141,212,213,232,235,247,342],defaultguest:[53,141,144],defaultmod:337,defaultobject:[5,6,26,53,60,64,82,85,86,89,96,111,117,119,121,125,141,144,182,206,214,218,221,226,232,247,318,342,357],defaultpath:344,defaultroom:[6,39,49,53,56,85,89,125,132,141,187,206,233,235,247,342],defaultscript:[53,56,102,116,120,121,125,141,146,179,184,195,203,204,205,217,218,219,220,221,223,235,251,258,259,300,331,342],defaultsess:[43,162],defaulttyp:312,defaultunloggedin:[43,163],defeat:[73,116,122,217,218,219,220,221,231],defeat_msg:231,defeat_msg_room:231,defend:[51,116,122,217,218,219,220,221,232,247],defens:[116,217,218,219,220,221],defense_valu:[217,218,219,220,221],defer:[10,27,29,33,94,133,148,150,177,187,213,239,246,247,256,260,264,274,276,277,308,312,316,318,319,335,337],deferredlist:312,defin:[0,2,4,5,10,11,12,13,14,20,21,22,25,27,30,35,36,38,40,42,43,44,46,49,50,53,55,56,57,58,59,61,62,64,68,69,73,74,77,78,81,83,85,88,89,91,95,96,97,104,106,109,111,113,114,115,117,119,121,123,125,126,127,129,133,135,136,137,138,139,141,143,148,150,152,153,154,156,159,165,167,169,170,175,176,177,180,182,183,184,185,187,188,194,195,198,203,204,205,206,214,215,219,220,223,232,233,236,238,239,240,241,242,243,246,247,251,252,256,259,261,262,264,267,274,277,298,299,306,307,308,311,314,316,317,318,319,321,322,323,326,328,331,335,339,341,344,350,357],define_charact:51,definit:[0,2,5,10,12,14,20,33,34,39,41,42,43,55,60,61,68,69,82,83,87,88,89,109,114,115,124,127,152,154,159,164,167,192,203,232,240,242,246,251,252,258,322,324,328,340],defit:51,deflist:312,degrad:127,degre:38,deindent:344,del:[11,12,29,43,58,80,116,122,157,159,187,202,203,318],del_callback:[193,195],del_detail:187,del_pid:267,delai:[0,28,33,45,120,184,188,195,213,226,232,260,261,279,285,308,323,344],delaliaschan:[43,164],delayed_import:308,delchanalia:[43,164],delcom:[58,164],deleg:[148,177,239,246,256,316,318,319,335],delet:[2,4,7,11,12,13,20,22,23,31,43,50,51,63,66,68,80,87,89,98,100,102,105,107,111,112,116,122,128,131,144,153,156,157,158,159,164,165,166,169,175,177,187,192,193,195,196,199,202,203,212,232,239,242,247,251,257,258,259,260,261,273,285,306,316,318,321,322,328,334,360],delete_attribut:316,delete_default:[31,153],delete_prototyp:251,deletet:187,deliber:[11,42,129,344],delic:182,delimit:[91,167,322],delin:48,deliv:[90,199,206],delpart:203,delresult:203,deltatim:344,delux:90,demand:[30,58,61,73,90,115,117,144,175,187,247,309,323],demo:[22,55,79,138,229,230,328],democommandsetcomm:230,democommandsethelp:230,democommandsetroom:230,demon:109,demonin:344,demonstr:[0,4,22,126,133,180,188,209,219],demowiki:4,deni:[8,103,194,198],denot:[56,114,134,322],denounc:327,depart:49,depend:[0,4,10,11,12,14,15,16,22,27,31,33,34,37,40,43,46,49,51,55,57,58,61,63,64,69,72,73,74,75,83,85,88,90,93,95,97,100,102,103,104,105,106,111,114,115,116,118,123,125,131,133,134,137,138,143,150,152,154,156,169,180,181,185,187,193,205,226,235,242,247,251,261,267,287,290,296,298,308,318,319,326,328,329,344],deplet:219,deploi:[38,46,90,103],deploy:[36,38,79,90,100,106],depmsg:337,deprec:[27,51,109,141,142,252,262,321,328,337,344],deprecationwarn:266,depth:[16,17,36,95,114,122,124,166,215,252],dequ:[11,310],deriv:[23,56,63,67,100,108,119,125,127,234,321,345],desc:[14,20,21,22,34,41,57,58,60,69,74,80,84,85,89,102,109,111,116,120,134,153,156,159,164,170,180,182,187,202,203,212,215,220,226,235,256,265,322,324,326,327,328,357],desc_add_lamp_broken:226,desc_al:231,desc_closed_lid:226,desc_dead:231,desc_open_lid:226,descend:[119,357],describ:[5,9,11,13,14,20,21,22,30,31,33,37,43,46,51,55,58,62,63,64,68,69,71,75,76,79,80,85,86,88,90,92,96,102,109,110,111,113,114,116,124,125,127,128,131,133,135,137,139,152,159,163,164,165,177,182,184,187,204,206,220,226,252,259,264,285,287,290,300,328,343,344,363],descripion:231,descript:[0,14,15,20,21,22,34,39,41,43,46,49,51,54,55,57,58,60,61,68,74,77,85,90,96,102,109,111,112,126,129,131,133,134,135,139,156,159,164,165,175,179,180,182,187,202,204,206,212,215,226,230,231,232,233,234,235,247,256,322,324,328,338,339],description_str:111,descvalidateerror:202,deseri:[11,97,338],deserunt:52,design:[14,16,23,26,33,37,39,41,55,57,61,79,89,91,108,109,111,112,117,118,119,124,129,133,138,153,159,180,194,206,209,232,247,322,338,344],desir:[1,4,27,28,29,43,49,57,58,59,91,108,112,114,115,119,121,123,133,137,159,175,183,205,242,267,312,316,324,330,345],desired_perm:242,desktop:[15,16,138],despit:[11,13,57,63,64,79,81,105,233],dest:[234,247],destin:[0,22,25,33,43,49,74,77,85,89,91,109,111,119,121,159,209,212,213,217,218,219,220,221,232,233,246,247,252,324],destinations_set:246,destroi:[0,20,89,103,116,127,144,146,159,164,203,219,247],destroy:212,destroy_channel:164,destruct:[31,152],detach:106,detail:[2,5,9,12,15,19,20,22,26,30,33,34,37,41,46,51,58,60,61,63,64,80,88,89,90,91,93,95,96,105,109,111,114,116,118,122,124,125,128,129,131,134,135,136,139,153,154,159,175,180,187,203,204,206,218,233,235,239,252,260,269,270,306,308,318,321,326,344,360],detail_color:159,detailkei:[187,233],detect:[31,33,36,38,61,81,88,89,103,105,118,151,154,279],determ:317,determin:[2,4,13,15,20,27,29,31,33,34,39,43,44,49,50,51,52,63,73,80,82,83,85,87,93,102,109,110,116,123,136,137,144,152,153,154,156,164,167,170,175,179,205,206,213,215,217,218,219,220,221,232,239,242,247,251,291,316,317,318,321,326,329,337,344,347],detour:[21,83,308],dev:[1,23,37,55,57,61,63,64,67,71,76,79,90,95,98,138],develop:[3,9,15,16,19,20,25,26,27,33,36,37,38,42,43,48,54,55,56,58,60,61,63,64,68,70,71,72,76,77,80,86,88,90,91,93,94,96,97,99,104,106,108,109,111,114,123,126,131,133,135,136,137,138,139,157,158,164,166,169,175,192,193,198,209,239,247,252,313,318,322,328,363,364],devoid:321,dex:[11,51,58,327],dexter:[217,218,219,220,221],diagnos:[30,97],diagram:125,dialog:137,dialogu:[0,124,139,364],dice:[63,73,91,116,141,142,178],dicecmdset:185,dicenum:185,dicetyp:185,dict:[0,11,13,25,31,43,46,51,53,88,107,109,119,127,144,146,152,154,159,166,170,175,182,184,187,188,192,195,198,205,206,209,210,215,219,221,233,247,249,250,251,252,259,261,264,265,267,272,277,278,280,285,287,290,295,296,307,308,310,317,322,323,325,327,328,329,339,344,357],dictat:[31,62,117],dictionari:[0,10,11,13,25,31,43,49,55,56,62,69,73,80,96,97,102,109,116,124,134,138,157,159,182,184,187,188,192,195,198,205,206,209,210,211,215,219,220,233,235,242,252,260,272,285,294,306,307,308,310,317,321,323,327,328,334,338,339,340,344,357],did:[2,21,22,29,57,60,64,68,91,95,96,104,111,123,131,144,179,247,260,319,340,344],did_declin:179,didn:[5,20,22,38,41,42,44,49,51,58,59,61,72,80,91,100,104,119,121,126,127,133,136,140],die:[73,91,106,114,117,185,205,308],dies:231,diff:[75,131,185,252],differ:[0,2,8,9,11,13,14,15,16,19,20,21,22,24,25,27,31,33,37,38,39,40,41,42,43,44,46,47,49,50,51,54,55,57,58,61,62,63,64,66,68,69,70,73,79,80,82,83,84,87,88,91,93,95,96,100,102,103,105,106,107,109,110,111,112,113,114,115,116,118,119,120,121,124,126,127,129,131,133,136,137,138,139,140,141,144,150,152,153,156,159,168,169,171,175,180,184,185,186,195,196,199,204,206,213,215,217,218,219,220,221,234,235,249,252,256,261,265,269,291,296,298,316,318,322,324,328,337,340,344],differenti:[56,57,58,182,206,215,247,344],differet:61,difficult:[4,39,93,103,133,220,221],difficulti:133,dig:[0,20,31,33,40,57,58,89,93,96,109,121,123,140,159,212,299],digit:[12,90,114,127,204,311,321,337],digitalocean:[67,90],diku:[55,64,124,139,364],dikumud:129,dime:108,dimens:[49,55],dimension:58,diminish:114,dimli:111,dinner:46,dip:96,dir:[9,21,23,36,38,54,58,63,64,67,75,79,90,96,100,102,127,128,130,131,134,337,344,347],direct:[0,3,8,10,11,12,20,22,31,38,43,44,45,49,51,58,70,74,88,90,100,109,111,116,118,119,121,128,137,138,139,159,170,194,210,235,242,259,267,328,330,337,341,344,364],directli:[2,5,8,13,14,20,21,23,27,29,30,33,37,40,42,44,46,50,51,55,56,58,59,61,62,64,72,80,88,89,90,93,94,95,96,100,102,104,109,110,111,114,116,118,119,123,125,128,131,137,138,154,170,176,179,180,181,185,198,206,215,220,221,226,233,234,238,242,246,247,256,273,278,287,290,295,300,306,316,318,322,324,328,329,342,344],director:[206,247],directori:[4,8,9,13,20,25,27,36,37,43,45,58,59,62,63,64,69,75,76,95,96,100,106,123,125,127,128,130,131,133,134,135,136,137,139,159,209,267,287,288,312,322,337,344,364],directorylist:312,dirnam:267,dirti:55,disabl:[0,4,24,25,50,63,80,81,106,114,127,137,154,170,188,206,215,226,234,242,290,329,334,345],disableloc:290,disableremot:290,disadvantag:[58,90,116,221],disambigu:[41,72,119,154,247,318],disappear:103,discard:321,disconcert:41,disconnect:[2,11,12,40,41,43,55,57,60,92,97,105,107,110,112,116,123,128,137,144,156,159,164,167,169,175,247,277,278,279,285,286,287,290,295,296,299,305,306,307,308],disconnect_al:285,disconnect_all_sess:308,disconnect_duplicate_sess:308,disconnect_session_from_account:144,discontinu:24,discord:[9,63,72,79],discordia:108,discourag:[64,75],discov:[91,122,316],discoveri:210,discrimin:103,discuss:[1,4,25,26,33,37,45,48,55,63,69,70,116,138,139],discworld:88,disengag:[116,144,217,218,219,220,221],disk:[11,27,86,100,108,110,205,209,249],dislik:57,disonnect:11,dispatch:[37,70],dispel:126,displai:[0,17,22,25,30,31,33,38,42,43,46,50,51,58,59,60,61,68,69,73,80,81,82,83,85,88,89,91,93,101,102,103,104,111,114,116,119,123,124,133,134,135,136,137,138,139,144,154,156,159,164,166,169,170,171,179,180,182,186,187,188,190,193,195,199,206,215,226,230,232,233,234,235,247,251,252,265,267,284,302,305,310,318,319,326,327,328,329,330,338,339,340,343,344,345,357],display:261,display_all_channel:164,display_buff:326,display_choic:180,display_formdata:188,display_help:326,display_helptext:[249,328],display_len:344,display_met:190,display_nodetext:328,display_subbed_channel:164,display_titl:180,dispos:[111,203],disput:116,disregard:33,dist3:94,dist:[63,130],distanc:[6,27,39,46,49,64,125,205,220,221,247,344],distance_inc:221,distance_to_room:39,distant:[49,138,187,233],distinct:[55,64,105,140,221],distinguish:[22,154,215,221],distribut:[8,9,15,23,31,34,42,63,64,78,96,97,124,127,128,175,177,206,321,324,344],distribute_messag:175,distributor:34,distro:[8,23,63,67,72],disturb:[27,140],distutil:63,distutilserror:63,ditto:63,div:[3,16,17,38,109,137],dive:[22,41,63],diverg:83,divid:[13,64,69,184,233,344],dividend:184,divisiblebi:69,divisor:184,django:[2,3,4,9,12,15,23,25,36,39,55,63,69,73,76,79,86,94,101,103,104,107,112,113,120,124,125,127,128,134,136,137,139,144,148,171,175,177,186,239,246,251,256,266,267,273,274,287,293,295,296,303,309,310,311,312,316,318,319,322,325,329,333,334,335,340,342,344,346,349,352,357],django_admin:360,django_nyt:4,djangonytconfig:4,djangoproject:[23,94,357],djangowebroot:312,dmg:73,dnf:[8,63,67],do_attack:231,do_batch_delet:316,do_batch_finish:316,do_batch_update_attribut:316,do_create_attribut:316,do_delete_attribut:316,do_flush:[318,334],do_gmcp:291,do_hunt:231,do_mccp:280,do_msdp:291,do_mssp:281,do_mxp:282,do_naw:283,do_nested_lookup:159,do_not_exce:25,do_noth:230,do_patrol:231,do_pickl:325,do_task:[260,344],do_unpickl:325,do_update_attribut:316,do_xterm256:321,doabl:[14,138],doc:[11,16,17,23,25,33,45,51,53,60,64,68,70,79,86,94,95,96,109,110,125,129,130,136,139,141,159,204,234,247,278,344,357,363,364],docker:[7,63,79,90,139,364],dockerfil:100,dockerhub:100,docstr:[1,5,25,38,41,43,68,74,96,154,159,170,180,193,205,206,215,226,233,234,328],documen:96,document:[0,3,5,6,9,16,17,20,22,23,24,25,26,29,41,43,46,47,48,52,55,57,58,60,64,68,70,76,79,83,86,90,94,96,103,104,106,111,114,118,121,122,123,124,125,127,131,133,135,136,139,153,167,180,204,234,316,319,327,334],dodg:218,doe:[2,4,5,9,11,20,21,23,24,25,26,29,31,33,37,38,39,40,41,43,49,51,54,55,56,57,58,60,61,63,64,68,69,73,78,80,85,88,89,91,95,96,100,102,104,109,110,111,112,113,114,116,117,118,119,121,123,125,126,127,129,131,132,133,136,137,138,140,144,146,156,167,169,170,171,181,182,183,186,187,202,203,215,217,218,219,220,221,232,233,234,235,247,251,252,259,260,266,267,271,272,273,276,279,287,288,294,316,318,323,328,337,340,344,349,357],doesn:[0,4,9,11,13,15,22,25,26,29,33,36,37,39,44,46,49,51,57,60,61,63,69,71,72,73,75,76,78,86,88,89,90,91,95,96,103,110,111,121,123,125,126,127,128,133,136,137,138,153,164,175,177,181,187,194,195,206,219,242,247,267,280,287,291,316,321,328,339,344],doesnotexist:[144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,319,324,331,335],doff:218,dog:[27,96],doing:[2,4,10,11,27,29,31,33,36,38,39,43,46,49,51,57,58,59,60,61,64,69,70,79,80,89,90,95,96,97,105,110,114,115,119,125,126,127,133,134,137,138,144,156,175,179,182,194,206,215,217,218,219,220,221,231,232,235,241,247,261,298,328,334,340],dolor:52,dom:137,domain:[8,55,67,90,103,138,324],domexcept:90,dominion:9,dompc:9,don:[0,1,3,4,6,9,10,11,20,21,22,23,25,26,27,29,30,31,33,34,37,38,39,41,42,43,44,46,47,50,51,54,58,59,61,62,63,64,67,68,69,70,72,73,75,80,81,82,83,85,86,88,90,91,93,95,96,97,102,103,104,105,106,111,114,116,119,122,123,125,126,127,128,131,132,133,134,135,136,138,140,144,146,152,153,159,164,165,166,167,168,175,180,185,194,198,205,206,218,219,220,226,233,234,235,242,246,247,251,252,261,271,272,279,284,285,290,292,299,306,313,318,321,322,328,334,337,340,344,357],donald:93,donat:[70,90],done:[1,4,6,9,10,11,20,21,22,25,29,30,31,33,34,36,37,38,39,41,43,44,49,51,55,56,57,58,59,61,62,63,64,67,69,70,73,76,80,82,85,87,90,91,93,100,107,108,110,115,116,117,118,119,120,121,123,126,128,131,133,136,137,144,154,156,164,170,179,185,205,221,235,242,246,247,259,260,261,267,280,284,286,288,292,296,302,305,306,308,313,316,321,322,329,334,344],donoth:259,dont:[79,289],doom:252,door:[0,20,22,27,43,49,61,80,85,89,103,159,212],doorwai:212,dot:[22,43,119,153,159,322,344],dotal:[321,343],dotpath:344,doubl:[22,38,43,57,97,119,133,152,171,343,344],doublet:[152,153],doubt:[22,138,234],down:[0,4,6,11,12,21,22,29,31,33,36,38,39,41,43,49,50,51,55,57,58,61,63,73,81,85,86,90,91,93,96,100,102,103,104,106,108,111,114,119,122,123,136,137,144,159,164,169,195,209,215,218,219,232,235,241,247,252,259,261,267,269,276,277,284,285,305,306,308,321,329,330,344],download:[5,9,23,26,63,64,72,75,79,90,100,101,128,130,131,139],downtim:[29,103,331],downward:[43,156],dozen:[25,55,108],drag:137,draggabl:138,dragon:56,dramat:[11,61],drape:182,draw:[14,38,39,49,73,119,330],draw_room_on_map:49,drawback:[14,23,28,29,51,58,73,86,138,181,322],drawn:[49,58,111],drawtext:73,dream:[26,55,61,129],dress:182,drink:[316,318],drive:[9,19,21,61,63,64,96,100,121,131,133],driven:[25,79,123,214,249],driver:23,drizzl:[102,132],drop:[6,9,14,20,21,23,25,33,37,40,55,57,58,60,69,70,73,80,85,86,87,88,89,90,117,118,121,128,137,138,159,165,182,203,214,218,221,226,247,276,318,322,344],drop_whitespac:330,dropdown:[106,138],droplet:67,dropper:[218,221,247],drum:90,dry:67,dtobj:344,duck:[27,95],duckclient:24,due:[5,6,12,22,29,31,33,40,43,58,60,62,63,64,76,90,91,93,95,96,104,107,125,126,140,153,169,246,247,269,305,308,321,337],duh:108,dull:[20,26,111],dumb:[20,138,308,321],dummi:[9,33,54,59,80,93,127,206,242,267,285,298,299,306],dummycli:298,dummyfactori:298,dummyrunn:[141,142,262,267,285,297,299,301],dummyrunner_act:298,dummyrunner_actions_modul:298,dummyrunner_set:[93,141,142,262,267,297],dummyrunner_settings_modul:93,dummysess:308,dump:[34,209,276],dungeon:[55,77,112],dupic:31,duplic:[31,37,96,152,159,261,318,337],durat:[10,28,132,139,219,338,345,364],dure:[9,11,29,31,38,40,55,60,61,63,66,68,79,80,95,97,100,102,105,107,116,123,132,135,136,137,140,144,152,164,170,187,203,231,233,234,242,260,276,286,322,324,328,337,357],duti:64,dwarf:111,dwummte9mtk1jjeypxrydwubb:79,dying:[217,218,219,220,221],dynam:[2,3,34,43,68,82,86,90,111,114,115,124,133,137,138,139,144,148,154,166,169,170,177,188,206,215,217,218,219,220,221,239,246,247,256,261,316,318,319,324,326,328,335,338,344,347,364],dyndns_system:90,e_char_typeclass:120,ea45afb6:101,each:[0,1,2,4,5,10,11,13,19,20,22,27,29,31,33,34,36,38,39,40,42,43,48,49,51,55,56,57,58,59,61,62,64,69,73,77,80,82,83,85,86,95,96,97,100,102,104,105,108,109,111,112,114,115,116,119,121,123,124,125,126,127,132,133,136,137,138,140,144,151,152,153,157,159,164,166,168,170,175,179,181,182,183,187,188,203,205,206,215,217,219,220,221,226,228,235,239,242,246,247,250,252,258,261,269,272,285,287,290,294,299,306,307,308,316,318,319,321,322,324,326,327,328,329,330,334,344,347],eaoiui:205,earli:[36,138,217,218,219,220,221,269],earlier:[3,9,13,31,36,51,54,58,60,61,62,64,74,85,95,96,106,119,121,123,131,134,272],earn:124,earnest:124,earth:[82,103],eas:[31,33,39,86,90,100,126],easi:[0,5,10,13,17,22,23,26,29,33,38,39,43,46,51,55,56,61,62,67,68,69,72,73,76,79,81,82,85,88,89,90,100,102,106,108,111,113,116,118,123,125,126,127,128,131,133,134,138,140,153,157,182,188,215,328,334],easier:[1,4,10,11,12,22,25,37,38,39,47,51,55,56,57,58,61,62,69,73,86,90,91,95,96,102,109,126,136,205,215,217,218,219,220,221,232,309,316,319,344],easiest:[0,5,12,15,25,27,30,46,58,63,67,70,76,123,128,131,133,135,209,318],easili:[0,3,4,11,12,13,14,17,20,25,27,28,33,34,37,38,39,46,48,49,51,55,58,60,61,62,63,68,70,73,80,83,85,88,90,91,96,98,100,103,105,106,107,108,109,111,112,119,122,123,131,133,136,137,138,140,164,166,175,177,179,180,182,188,190,194,205,212,215,217,218,219,220,221,234,238,239,261,322,328,339],east:[25,44,49,111,159,233],east_exit:233,east_west:111,eastern:[62,111],eastward:233,eccel:330,echo1:29,echo2:29,echo3:29,echo:[5,10,12,20,26,27,28,29,33,36,38,43,44,49,50,55,59,65,71,90,95,96,98,100,104,109,110,116,118,123,132,140,144,146,157,159,164,169,170,182,185,206,231,232,233,247,265,272,287,290,326,328,344],echotest:5,econom:[55,79,86],economi:[61,73,102,108,120,179],ecosystem:100,ect:96,ed30a86b8c4ca887773594c2:122,edg:[16,27,131,170,330,344],edgi:49,edit:[0,1,4,5,6,9,11,13,14,23,25,26,30,33,35,37,40,41,43,46,48,54,56,58,59,60,61,62,67,68,69,70,75,76,79,80,81,86,95,96,97,100,101,104,106,109,111,114,128,133,134,135,136,137,138,157,159,166,169,180,186,188,192,193,195,196,202,203,242,247,249,251,252,316,326,357,364],edit_callback:[193,195],edit_handl:159,editcmd:22,editor:[0,5,9,15,21,22,33,38,43,45,46,53,57,60,63,67,76,79,95,96,97,108,109,111,131,139,159,166,168,169,180,202,256,322,326],editor_command_group:326,editorcmdset:326,editsheet:58,edu:124,effect:[6,10,11,14,27,28,29,31,35,39,43,56,57,58,61,73,87,95,104,107,110,111,114,115,116,117,124,126,127,128,129,138,140,144,152,153,159,168,175,185,195,218,219,220,231,233,247,253,256,280,344],effici:[11,26,28,29,39,55,56,64,76,79,86,87,93,95,103,112,115,119,125,132,179,206,213,242,247,261,316,317,319,326,329],effort:[37,56,131,134],egg:75,egg_info:63,egi:269,either:[0,4,9,12,13,17,23,27,29,31,33,34,37,38,39,41,43,44,46,49,51,56,57,58,69,73,80,83,90,91,93,95,97,102,103,105,109,110,111,112,114,116,119,121,122,123,125,126,128,131,137,138,144,146,152,153,154,164,169,176,180,192,198,199,205,206,212,215,217,220,221,226,242,247,250,252,256,258,259,261,265,276,288,292,299,317,318,319,328,330,337,339,341,344],elabor:[4,22,85,91,123],electr:[90,124],eleg:37,element:[16,17,22,41,43,51,55,91,114,151,156,170,180,184,204,205,247,252,316,317,319,322,327,328,329,344],elev:[46,82,124,139,364],elif:[0,41,49,51,58,73,102,116,117,123],elimin:[96,100,321],ellipsi:96,ellow:[114,321],els:[0,1,2,5,9,10,12,19,20,21,22,23,25,27,29,30,33,38,39,41,42,46,48,49,51,58,60,68,69,73,80,81,82,84,85,90,91,95,102,103,111,114,115,116,117,120,121,123,127,131,133,134,137,164,170,179,182,188,204,217,218,219,220,221,235,246,296,318,328,344],elsennsometh:170,elsewher:[2,29,31,58,70,96,112,133,138,153,233,267,308,316],elvish:205,emac:[14,79],email:[63,64,67,131,144,186,324,338,344,345,357],email_login:[141,142,178],emailaddress:344,emailfield:357,emb:[38,58,109,114,187,252],embark:121,embed:[109,114,125,138,166,175,250,327,344],emerg:[76,80,103],emi:205,emit:[25,34,108,137,144,153,157,175,189,247,306,337],emit_to_obj:[153,247],emitt:83,emo:21,emoji:24,emot:[33,41,43,55,68,116,144,165,179,205,206,316],emoteerror:206,emoteexcept:206,emphas:[38,61],emphasi:38,emploi:345,empti:[0,2,3,6,9,10,14,25,31,33,38,41,42,43,47,49,51,54,58,60,63,64,69,73,77,84,86,88,89,91,96,97,100,114,115,117,119,123,125,127,128,131,134,137,138,150,151,157,159,164,170,180,190,192,206,251,252,265,272,276,298,299,316,322,324,328,330,341,344],empty_color:190,empty_permit:357,empty_threadpool:312,emptyset:31,emul:[43,64,75,105,123,129,169],enabl:[8,24,43,71,100,103,106,114,126,134,137,144,188,290,345],enable_recog:206,enableloc:290,enableremot:290,encamp:46,encapsul:338,encarnia:79,encas:326,enclos:[35,43,50,171,186],encod:[7,27,58,111,139,278,291,295,296,321,340,344,364],encode_gmcp:291,encode_msdp:291,encoded_text:344,encompass:27,encount:[60,95,153,345],encourag:[3,22,24,39,70,91,94],encrypt:[7,8,43,83,103,164,287,288,292],end:[1,5,6,8,9,10,11,13,14,19,20,21,22,23,25,27,28,29,31,33,34,38,39,40,43,47,50,51,54,55,58,60,62,64,65,67,69,73,76,80,81,83,86,87,88,90,91,93,95,96,100,105,107,108,109,114,116,118,119,121,122,123,126,128,131,133,134,135,137,138,140,144,146,152,153,159,165,166,179,181,182,185,190,202,206,214,215,217,218,219,220,221,233,238,271,278,279,287,290,291,301,306,310,312,317,321,322,324,328,329,330,337,344],end_convers:51,end_turn:116,endblock:[3,69,133,134],endclr:114,endfor:[69,133,134],endhour:25,endif:[69,133,134],endlessli:103,endpoint:103,endsep:344,endswith:321,ened:94,enemi:[11,29,51,61,109,116,122,219,220,221,231,232,233],enemynam:51,enforc:[10,33,41,61,73,80,114,126,138,287,290,329,330],enforce_s:330,engag:[55,221,231],engin:[22,23,33,36,43,55,56,64,68,73,77,79,89,102,103,104,122,127,131,136,140,150,153,168,169,210,233,238,267,278,284,287,290,295,305,307,322,324],english:[15,76,79,97,113,139],enhanc:[59,81,114,209,321],enigmat:20,enjoi:[61,63,91,106],enough:[4,6,21,29,38,39,41,42,43,51,55,57,58,61,63,64,69,70,80,84,85,87,90,91,96,108,112,115,119,123,126,136,153,159,170,204,205,226,235,328,329,330],ensdep:344,ensur:[49,69,94,100,106,117,126,127,215,310,342],ensure_ascii:296,enter:[0,1,3,5,9,12,13,14,15,20,21,22,23,25,26,27,29,31,33,35,36,41,42,43,44,46,51,58,62,63,64,66,69,75,77,80,83,85,87,89,91,95,96,100,109,111,114,116,117,119,122,123,124,128,129,131,133,135,138,139,141,144,151,153,158,166,167,169,179,180,182,187,188,198,215,217,218,219,220,221,231,233,235,241,247,252,256,265,306,328,347,357],enter_guild:51,enter_nam:51,enter_wild:235,enterpris:36,entir:[10,11,13,14,19,22,27,29,33,46,49,50,51,60,61,69,80,86,90,91,108,111,114,115,123,125,127,136,180,205,206,215,234,242,247,251,252,318,322,328,330,334,344],entireti:[51,73,188,328],entit:324,entiti:[6,11,27,34,43,47,51,53,55,59,61,64,80,84,87,89,102,105,107,109,112,116,119,125,126,139,143,144,154,159,164,169,175,176,177,206,212,241,247,249,250,251,252,253,256,257,259,261,308,316,317,319,324,328,329,333,341,344],entitii:107,entitl:90,entranc:111,entri:[4,5,11,15,24,25,27,31,33,34,43,47,48,51,53,54,58,59,63,69,70,72,77,80,83,91,95,107,119,121,131,138,139,144,154,166,167,170,190,204,215,217,218,219,220,221,236,238,239,242,247,261,286,299,310,316,322,324,326,328,330,337,338,341,344,345],entriest:[43,156],entrust:59,entrypoint:100,entrytext:[69,239,324],enul:8,enumar:344,enumer:134,env:[267,277],environ:[4,7,9,13,25,36,38,43,45,59,61,63,64,65,82,90,95,100,103,128,169,170,228,230,267,277,293,302,322,328,342,360],environment:267,eof:287,epic:79,epilog:234,epoch:[27,62,331],epollreactor:312,epub:79,equal:[0,16,19,20,25,31,33,39,46,91,93,96,97,114,121,152,164,187,206,217,218,219,220,221,247,344],equip:[14,57,114,182,217,218,220,221],equival:[10,11,13,40,43,47,63,87,88,101,103,104,110,114,128,143,159,238,285,291,316,344],eras:[9,95,221],err:[58,80,276,298,322],err_travers:[89,247],errback:[10,264,267,276,277,344],errmessag:152,errmsg:[123,337],erron:[113,123,276,330],error:[1,5,6,8,9,10,11,14,15,20,22,23,24,26,27,31,33,37,38,42,43,51,56,57,58,59,60,63,64,67,71,74,75,76,80,83,86,87,89,90,91,97,103,104,105,109,111,113,114,118,119,120,122,123,125,127,128,131,133,135,139,144,150,152,153,159,164,175,195,204,206,215,232,234,242,247,250,251,259,260,264,266,267,269,271,276,290,298,318,321,322,324,327,328,337,340,344,345,364],error_check_python_modul:267,error_class:357,error_cmd:44,error_msg:310,errorlist:357,errorlog:8,escal:[2,19,43,80,156,241],escap:[43,69,114,165,169,234,321,343,357],escript:[22,180],esom:166,especi:[1,8,15,22,23,29,60,61,63,67,80,105,111,112,124,190,205,322],ess:52,essai:79,essenti:[28,49,56,67,75,79,106,113,176,267,324],est:[52,170],establish:[33,61,73,105,144,217,247,264,276,278,285,287,290,295,298,305,307],estim:[30,252,334],esult:247,etc:[2,5,6,8,11,12,20,22,23,25,27,29,30,33,35,38,40,41,43,47,48,49,51,53,55,56,57,58,61,62,63,64,67,73,79,80,83,84,86,87,88,89,95,96,100,102,103,105,107,108,109,110,112,116,119,120,125,126,127,131,132,137,138,144,148,150,151,152,153,156,158,159,164,167,169,179,183,184,188,190,203,205,206,212,218,220,226,234,247,251,252,285,287,290,294,295,296,306,307,316,318,321,322,324,325,326,327,328,337,344,347],etern:51,euro:90,ev_channel:146,eval:[109,179,344],eval_rst:38,evalstr:242,evalu:[33,38,51,119,151,179,242,328],evbot:[43,164,308],evcast:79,evcel:[327,330],evcolor:79,evcolum:330,evcolumn:330,eve:344,eveditor:[22,45,53,139,141,142,180,320,364],eveditorcmdset:326,even:[1,4,6,9,11,12,14,19,21,22,25,26,27,29,31,37,39,41,42,43,46,49,50,51,54,55,56,57,58,60,61,62,63,64,69,70,73,77,80,85,86,90,91,93,97,102,103,105,106,108,110,114,115,116,118,119,122,123,125,126,129,131,135,138,152,154,157,164,182,184,187,188,205,217,218,219,220,221,233,234,247,252,290,328,330,334,344],evenli:[27,184,344],evenn:100,evenna:9,evenni:[4,127],evennia:[0,1,2,3,6,10,11,12,13,14,15,17,19,20,21,22,24,27,28,29,30,31,33,34,35,36,37,39,40,43,44,46,48,49,50,51,52,53,59,60,61,62,63,64,65,66,68,69,70,72,73,74,78,80,81,82,83,84,85,86,87,88,89,92,93,94,97,98,99,101,102,103,104,105,107,108,111,112,113,114,115,116,117,118,119,120,121,122,123,125,129,130,132,133,134,135,136,138,139,364],evennia_access:8,evennia_channel:[43,65,72,98,164],evennia_dir:344,evennia_error:8,evennia_launch:[106,141,142,262,265],evennia_logo:136,evennia_vers:267,evennia_websocket_webcli:295,evennia_wsgi_apach:8,evenniaform:357,evenniagameindexcli:269,evenniagameindexservic:270,evennialogfil:337,evenniapasswordvalid:311,evenniareverseproxyresourc:312,evenniaserv:92,evenniatest:[170,196,211,228,293,342,360],evenniausernameavailabilityvalid:[144,311],evenniawebtest:360,event:[51,64,73,103,107,137,139,141,146,179,184,194,195,196,198,206,209,226,256,259,309,364],event_nam:[194,198],eventdict:337,eventfunc:[0,141,142,178,191,195],eventhandl:195,eventi:[154,180,234],eventu:[4,11,12,19,25,29,33,41,58,61,70,76,80,83,88,90,110,116,119,123,133,136,144,150,151,168,185,205,206,226,233,242,247,252,264,272,298,306,307,319,323,324,328,330,355],evenv:[4,36,63,64,75,97,106],evenwidth:330,ever:[11,12,13,14,15,22,23,25,33,41,57,64,73,86,91,102,105,110,111,112,113,118,125,128,131,138,205,261,278,279,285,316,328],everi:[0,4,6,11,13,20,21,25,26,27,28,31,33,36,37,39,41,43,46,48,49,51,57,62,63,64,69,73,74,75,77,85,86,90,91,96,100,102,104,108,109,111,112,113,114,115,116,119,120,121,122,123,125,127,128,130,131,132,133,134,135,136,138,144,159,164,170,182,188,195,205,206,215,217,218,219,220,221,223,230,235,247,252,259,261,272,289,299,305,314,316,318,328,329,330,344],everror:195,everybodi:41,everyon:[19,21,24,33,34,43,51,58,61,64,71,73,77,78,80,87,98,102,110,112,114,116,121,123,127,128,131,132,159,164,165,166,185,217,218,219,220,221,285],everyth:[9,11,19,21,26,28,31,36,38,42,43,47,49,51,55,58,61,63,64,67,69,72,73,75,79,80,81,83,85,87,90,91,97,100,103,104,109,110,111,113,115,116,119,122,127,128,131,135,136,137,138,139,149,154,164,165,167,169,170,171,181,186,233,241,246,256,271,298,306,316,318,322,328],everywher:[9,56,94],evform:[27,45,53,141,142,320],evgam:[43,164],evgamedir:38,evict:310,evid:72,evil:[14,93,226,252],evilus:164,evmenu:[22,27,33,45,53,58,85,124,139,141,142,170,180,188,214,215,230,249,320,329,364],evmenucmdset:328,evmenuerror:328,evmenugotoabortmessag:328,evmenugotomessag:328,evmor:[45,139,141,142,251,320,364],evtabl:[27,33,45,49,53,82,111,141,142,154,164,188,251,320,327,329,344],exact:[33,41,43,51,80,93,95,96,119,129,138,144,151,159,164,168,176,206,221,238,247,251,252,317,318,340,341,344],exactli:[2,10,19,20,38,40,42,46,58,62,63,64,69,73,76,83,86,91,95,96,100,102,110,111,114,115,123,128,131,136,138,164,206,247,267,318,341],exam:[43,159],examin:[2,11,12,20,22,33,58,60,73,80,83,85,91,96,106,115,122,123,131,137,140,144,159,170,179,226,232,233,299],exampl:[0,2,4,5,6,8,10,11,13,14,15,17,19,20,21,22,25,27,28,29,30,31,33,36,37,38,40,41,43,44,48,49,55,56,57,58,59,60,61,62,63,64,67,68,71,74,77,81,82,84,85,86,87,88,89,91,93,95,96,97,98,100,103,104,105,106,109,110,111,112,114,115,117,118,119,121,122,123,124,125,126,129,130,131,132,133,135,136,138,139,140,141,142,144,148,151,152,153,154,157,158,159,164,165,166,167,168,170,175,177,179,180,182,184,185,187,188,189,190,199,203,204,205,206,209,212,213,214,215,217,218,219,220,221,223,226,231,233,234,235,239,242,246,247,252,256,259,261,272,287,290,291,296,299,308,312,316,318,319,320,321,323,327,328,329,330,331,335,337,338,341,342,344,345,357,363,364],example_batch_cod:[13,141,142,178,222],exapmpl:5,excalibur:85,exce:[82,217,218,219,220,221,310,334],exceed:310,excel:[56,67,79,80,102,108],excempt:152,except:[4,9,10,11,14,19,20,21,22,27,28,29,31,33,38,39,41,46,50,58,63,64,75,80,83,89,90,91,95,97,102,109,111,114,116,118,119,120,121,123,126,133,134,144,146,148,150,153,154,167,168,175,176,177,179,182,184,187,189,194,195,198,202,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,234,235,239,241,242,246,247,251,256,259,260,267,272,274,276,288,290,292,296,300,312,316,319,321,324,327,328,330,331,335,337,339,344],excepteur:52,excerpt:50,excess:[22,80,109,167,246,322],exchang:[13,90,102,179,325],excit:[20,35,54],exclam:21,exclud:[64,119,120,123,175,182,203,233,246,247,326,328],exclude_cov:182,excluded_typeclass_path:169,exclus:[51,61,80,83,226,247,256,317,328],exclusiv:324,exe:[63,106,128],exec:[51,85,109,252,328,344],exec_kwarg:328,exec_str:302,execcgi:8,execut:[0,9,10,12,13,14,19,22,25,28,29,31,33,36,43,45,46,47,50,51,55,62,63,64,69,75,83,85,87,89,91,95,102,106,109,111,114,119,127,128,137,139,144,146,148,149,150,154,157,158,166,167,169,170,177,180,195,206,215,226,233,234,239,241,242,246,247,252,253,256,260,264,272,274,277,278,284,287,290,295,299,302,305,306,316,318,319,322,328,329,335,344,347,364],execute_cmd:[2,33,89,117,118,123,144,146,154,247,272,306],execute_command:33,executor:36,exemplifi:[28,40,122],exercis:[21,41,42,58,85,95,96,111,116,123,132,293,303,335],exhaust:22,exhaustedgener:204,exidbobj:247,exis:44,exist:[0,2,3,5,11,12,13,20,21,22,25,27,31,33,35,36,39,40,41,43,44,46,48,49,51,56,57,58,60,61,64,65,68,69,70,72,76,80,86,96,97,100,102,105,109,111,112,115,116,117,123,124,128,131,134,136,138,139,143,144,146,152,153,154,159,164,166,167,169,180,181,187,192,194,195,198,199,202,203,205,206,213,220,232,235,241,242,246,247,249,252,260,267,271,273,287,288,290,292,300,305,306,308,316,317,318,319,322,324,326,327,328,330,337,339,344],existen:306,exit:[20,21,22,23,31,39,41,43,45,49,50,51,53,55,58,63,80,85,86,91,100,106,109,111,119,121,122,123,124,125,128,139,141,150,152,153,159,169,179,180,196,212,213,215,221,226,231,232,233,234,235,241,246,247,252,287,299,316,324,326,328,329,342,360,364],exit_alias:[159,212],exit_back:58,exit_cmd:[51,329],exit_command:247,exit_nam:[49,159,212],exit_on_lastpag:329,exit_ther:58,exit_to_her:[43,159],exit_to_ther:[43,159],exit_typeclass:[235,342,360],exitbuildingmenu:22,exitcmdset:[31,247],exitcommand:247,exitnam:212,exitobject:44,exixt:285,exot:33,exp:327,expand:[0,1,4,5,6,20,21,23,49,55,57,58,61,64,70,74,81,85,89,90,104,111,114,117,120,123,124,131,132,135,139,140,159,186,212,217,218,219,220,221,247,321,330],expand_tab:330,expandtab:[321,330],expans:[44,61],expect:[0,1,6,9,10,33,34,37,38,47,56,58,61,67,75,80,83,87,88,89,90,91,94,95,96,97,107,113,114,115,122,123,124,126,127,128,134,138,159,167,170,180,192,194,204,235,241,247,251,252,265,318,328,329,334,344,349],expected1:170,expected2:170,expected_input:170,expected_return:127,expedit:96,expens:[90,115,119,341],experi:[26,42,51,57,60,61,62,63,73,77,81,90,95,100,111,122,131,135,139,164],experienc:[51,61,64,79,95],experienced_betray:51,experienced_viol:51,experiment:[43,74,169],explain:[20,22,33,39,48,51,55,58,64,71,79,86,119,121,124,126,127,129,131,134,136,139],explan:[25,31,33,39,64,69,77,114,124,139,311],explicit:[0,1,22,31,38,40,48,69,71,88,91,104,129,136,204,267,289,316,328],explicitli:[4,9,21,30,31,38,43,58,59,63,68,80,83,84,85,86,87,96,97,109,112,114,115,124,125,153,154,159,166,170,204,247,252,261,318,321,324,340],explor:[0,2,10,20,42,43,59,63,69,83,95,104,111,116,122,125,169],expos:[103,134,226],express:[3,33,38,43,51,56,80,109,119,127,134,135,140,159,184,204,221,316,344,347],ext:51,extend:[1,3,5,27,34,39,43,55,56,69,73,79,85,86,108,109,111,117,118,125,133,134,148,154,166,170,175,181,183,187,195,198,235,246,247,318,338,357],extended_room:[141,142,178],extendedloopingcal:261,extendedroom:187,extendedroomcmdset:187,extens:[1,3,9,23,38,51,55,56,61,63,64,88,96,97,104,111,114,127,138,148,210,217,282,290,324,333,343],extent:[22,56,73],exter:164,extern:[8,15,23,34,38,40,41,43,54,55,57,63,65,72,90,98,106,108,109,111,124,139,141,153,164,170,172,177,209,251,265,267,269,324],external_discord_hello:272,external_receiv:177,extra:[1,6,8,14,16,21,23,25,29,31,33,37,41,51,57,58,80,89,90,93,95,96,107,114,119,123,125,126,127,134,136,137,138,144,148,154,166,170,175,179,187,189,202,206,226,233,247,250,251,261,264,317,321,322,326,328,329,330,337,338,339,343,344],extra_environ:322,extra_opt:328,extra_spac:344,extract:[11,41,56,91,96,97,107,138,154,206,210,242,281,295,344],extract_goto_exec:328,extrainfoauthserv:287,extral:177,extran:188,extrem:[26,56,91,110,128,217,218,220,221,280,338],eye:[60,97,111,114,252,329],eyed:136,eyes:[33,37,57],eyesight:[58,80,114],eyj0exaioijkv1qilcjhbgcioijiuzi1n:122,eyjzdwiioij1cm46yxbwoiisimlzcyi6invybjphcha6iiwib2jqijpbw3siagvpz2h0ijoipd04ndkilcjwyxroijoixc9m:122,f6d4ca9b2b22:100,face:[90,103,122,189,311,328],facil:337,fact:[10,11,14,21,29,33,55,57,58,61,76,83,89,103,106,114,117,123,125,126,134,138,140,308,310],facter:138,factor:[0,62,82,114,218,220,264,278,279],factori:[40,96,264,269,277,278,279,285,286,287,288,290,298],factory_path:146,fade:[108,205],fail:[4,9,10,11,12,13,14,24,27,31,41,51,60,61,63,89,91,103,107,109,110,113,116,117,121,127,153,164,168,175,185,206,212,226,232,241,242,247,251,264,265,267,271,278,279,289,310,316,318,338,340,344],failmsg:310,failtext:73,failur:[10,14,63,73,119,127,144,233,269,276,278,279,298,310,321,344],failure_teleport_msg:233,failure_teleport_to:233,faint:102,fair:[73,185],fairli:[39,69,75,182,188,215,218],fake:[183,298,308,316,321],fall:[26,31,38,60,62,64,73,97,102,111,113,141,144,168,189,206,226,233,344,357],fall_exit:233,fallback:[44,49,55,150,154,177,187,242,259,267,296,316,328,339,344],fals:[1,2,4,6,11,20,21,22,25,27,29,31,33,38,41,44,49,50,51,58,62,68,74,77,80,81,84,86,89,96,102,103,115,116,118,120,121,123,125,127,133,137,144,148,150,151,152,153,154,159,164,166,170,175,177,179,180,182,183,184,185,188,192,195,199,205,206,212,215,217,218,219,220,221,230,234,235,238,239,241,242,246,247,249,251,252,256,257,259,260,261,264,267,269,273,276,277,284,285,286,287,290,296,304,305,306,308,310,312,316,317,318,319,321,322,324,326,328,329,330,331,334,339,340,341,343,344,345,357],falsestr:188,falsi:175,falter:61,fame:122,famili:[9,51,57],familiar:[3,9,20,29,31,33,39,58,60,63,85,90,91,95,96,111,119,124,125,133],famou:[52,326],fan:79,fanci:[15,17,36,73,138,182],fanclub:119,fantasi:205,faq:[45,124,139,289,364],far:[0,13,20,21,22,31,33,39,41,44,46,49,51,54,55,57,59,61,75,88,90,91,95,96,100,106,111,114,119,131,138,152,221,235,269,294,316,326,334],fashion:111,fast:[11,15,23,26,27,29,56,62,64,82,89,108,115,131,157],faster:[23,62,93,119,177,179,316],fastest:[5,38],fatal:267,faulti:95,favor:27,favorit:[21,37],fear:27,featgmcp:291,featur:[0,4,12,15,17,20,22,25,26,27,31,33,34,36,37,42,45,46,47,48,49,50,56,57,59,61,62,63,64,70,72,78,81,85,91,96,103,107,109,111,114,119,122,123,124,125,128,129,131,138,139,144,153,154,187,195,206,215,234,261,284,305,309,318,326,344,364],februari:62,fed:[10,33,80,285,316,325,327],fedora:[8,63,67,131],feed:[7,15,43,49,51,55,73,98,109,128,139,146,164,269,286,287,318,329],feedback:[37,42,61,70,89,118,176,326],feedpars:[98,286],feedread:146,feel:[0,10,17,22,37,38,39,46,55,57,60,61,63,64,69,70,71,73,77,90,91,108,118,122,123,125,131,133,138,205,215,218,226,233],feend78:199,feint:116,felin:27,fellow:327,felt:[102,132],femal:189,fetch:[11,63,90,100,128,131,133,316,329],few:[0,4,6,9,10,11,15,17,20,23,31,33,34,36,38,41,42,43,49,50,55,59,60,61,64,66,73,74,79,80,86,88,89,91,103,110,114,116,119,121,122,123,126,127,131,138,169,184,205,226,246,282,291,310,321,330,344],fewer:[108,308,317],fg_colormap:343,fgstart:343,fgstop:343,fhii4:133,fiction:[51,55,62,77,328],fictional_word:205,fictiv:205,fiddl:233,fido:96,fie:102,field:[3,11,23,34,54,56,58,74,84,86,87,89,102,106,107,112,119,125,128,133,135,148,177,188,192,206,221,231,239,241,246,247,251,252,256,257,261,274,316,317,318,319,327,335,340,341,357],field_class:357,field_or_argnam:74,field_ord:357,fieldevmenu:188,fieldfil:[141,142,178],fieldnam:[58,84,188,257,318,334,357],fieldtyp:188,fifi:96,fifo:344,fifth:49,fight:[29,31,61,116,122,217,218,219,220,221,232],fighter:[217,218,219,220,221],figur:[3,12,26,33,37,38,42,49,80,83,90,91,93,96,97,119,121,131,133,138,179,181,184,206,251,267],file:[2,3,4,5,6,8,9,19,20,21,22,23,25,26,27,31,34,36,37,40,41,42,44,47,48,54,56,57,58,59,60,62,63,64,65,66,67,68,69,72,75,76,79,80,81,82,83,85,86,90,92,93,95,96,97,98,100,102,103,106,109,110,111,114,117,119,120,121,123,128,130,133,134,135,136,137,138,139,141,142,144,158,166,175,180,182,183,184,186,205,209,234,235,252,266,267,287,288,291,292,299,300,301,305,312,313,320,327,328,337,340,341,344,347,350,357],file_end:[322,344],file_help_entry_modul:166,filelogobserv:337,filenam:[27,60,131,175,205,322,327,337],filename1:267,filename2:267,filesystem:[63,100,103],fill:[36,41,49,50,58,61,65,70,106,111,114,119,122,133,135,188,316,321,327,328,329,330,344],fill_char:330,fill_color:190,fillabl:188,fillchar:[114,321,344],filo:344,filter:[31,34,39,43,69,86,106,114,119,120,125,133,138,152,157,180,187,206,246,247,344],filter_famili:[119,125],filthi:78,final_valu:10,find:[0,3,4,6,10,11,12,13,14,17,20,21,22,23,24,25,26,27,29,31,33,34,37,38,40,41,42,46,47,48,49,50,55,56,57,58,60,61,62,63,67,68,69,70,73,74,75,76,78,79,80,84,86,87,89,90,91,93,95,96,97,100,102,103,108,109,110,112,114,119,122,123,124,125,127,128,131,133,134,135,136,139,140,144,151,159,184,187,206,212,215,233,234,247,251,252,258,267,281,316,317,321,323,341,344],find_apropo:238,find_topicmatch:238,find_topics_with_categori:238,find_topicsuggest:238,fine:[12,15,20,33,41,44,46,64,85,86,89,95,105,112,115,118,122,123,138,146,233,316,324,344],finer:12,finish:[10,14,29,33,38,58,59,61,100,107,122,123,124,128,133,136,141,144,154,156,167,179,187,203,232,233,247,267,271,279,290,305,312,323,328,344,347],finish_chargen:51,finit:91,fire:[2,20,21,27,28,29,33,46,51,58,61,96,102,106,107,111,115,118,120,132,139,144,146,150,195,219,220,247,252,267,276,278,295,328,329,334],firebreath:58,firefox:72,firestorm:28,firestorm_lastcast:28,firewal:[67,90],first:[2,3,4,5,6,7,9,10,11,12,13,14,15,16,19,20,21,23,24,26,27,29,31,33,35,38,39,40,41,42,43,45,48,49,50,51,55,56,58,59,61,62,63,65,68,69,70,71,73,75,76,77,80,81,83,85,86,89,90,91,93,96,97,98,100,102,103,104,105,106,107,108,109,110,113,114,116,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,139,144,146,148,151,152,159,167,170,171,175,177,179,180,182,183,184,186,187,204,205,206,212,214,217,218,219,220,221,223,226,231,232,233,234,235,239,241,246,247,251,252,256,259,267,271,272,274,285,287,290,295,296,298,299,305,308,316,318,319,321,322,324,326,327,328,330,331,334,335,343,344,363,364],first_lin:123,firsthand:80,firstli:[9,89,90,96,97],fish:[73,153,203],fist:252,fit:[11,23,39,47,51,58,80,88,121,129,130,133,218,221,327,329,330,344],five:[28,33,90,111,119,153,215,344,345],fix:[13,14,16,26,27,33,37,42,43,51,57,60,61,63,64,70,75,78,83,85,90,95,96,97,109,110,121,123,125,127,138,205,267,327,329,330,340,363],fix_sentence_end:330,fixer:119,fixing_strange_bug:131,fixtur:[170,228,293,303,335,342],flag:[9,13,14,20,28,29,30,31,33,40,41,43,51,58,61,74,76,83,86,108,115,123,131,144,150,152,154,159,226,231,241,242,247,267,274,278,287,290,295,306,326,328,344],flame:[28,220],flash:[14,226],flat:[22,26,27,45,47,48,53,56,59,60,96,125,141,252],flatfil:56,flaticon:79,flatten:252,flatten_diff:252,flatten_prototyp:252,flattened_diff:252,flatul:102,flavor:[20,90,220],flavour:[87,126],flaw:121,fled:[116,231],fledg:[15,90,108,123,133,158,185],flee:[116,117,221,231],fleevalu:116,flesh:[20,58],flexibl:[1,13,21,22,29,39,43,51,57,59,73,88,90,102,108,109,111,116,134,138,148,159,179,180,188,215,316,328,344],flick:345,flicker:226,flip:[51,81],flood:[27,50],floor:[0,82,206],flourish:316,flow:[17,36,40,55,61,70,83,86,115,131,137,324,328],flower:[12,20,43,61,87,89,119,159],flowerpot:[12,57],fluent:79,fluid:[16,17],flurri:206,flush:[23,33,43,111,128,169,316,318,334],flush_cach:334,flush_cached_inst:334,flush_from_cach:334,flush_instance_cach:334,flusher:334,flushmem:[43,169],fly:[3,12,21,27,31,33,34,43,51,55,64,85,102,109,119,138,144,165,167,177,239,247,261,274,285,288,292,316,322,331,344],fnmatch:316,focu:[4,61,70,116,124],focus:[56,57,61,77,79,106,123,124,221],foe:218,fold:215,folder:[3,5,8,13,14,21,27,30,38,47,49,55,57,58,60,63,64,69,73,75,76,86,95,96,100,103,106,110,111,116,117,118,123,127,128,130,133,134,135,136,137,217,218,219,220,221,267],folder_nam:64,foldernam:60,follow:[0,2,4,5,7,8,9,10,11,13,14,16,17,19,20,22,23,25,31,33,34,37,38,39,40,41,42,43,46,47,48,49,50,51,54,58,60,61,62,63,65,67,68,69,71,73,74,75,76,79,80,82,85,86,88,89,90,91,93,95,96,97,100,102,103,106,110,112,114,116,117,119,120,121,123,125,127,128,131,133,134,135,137,144,146,148,150,151,154,159,166,167,170,175,177,180,182,183,185,189,195,199,206,215,219,220,233,239,242,246,247,250,251,252,256,257,271,272,282,291,295,296,299,309,316,318,321,322,324,327,328,329,330,337,344],follwo:242,follwow:51,fond:62,font:[25,38,111,137],foo:[33,40,51,83,84,88,95,107,112,119,127,215,328,342],foo_bar:88,foobarfoo:12,fooerror:328,foolish:226,footer:[69,133,154,329],footnot:[15,38],footprint:[43,169],footwear:57,for_cont:247,forai:96,forbid:41,forbidden:131,forc:[0,6,8,10,31,33,58,60,63,73,81,82,91,100,103,110,116,121,123,125,127,138,146,153,157,159,164,179,187,189,203,205,206,242,247,251,258,278,279,285,290,308,310,329,330,334,337,344],force_init:247,force_repeat:[102,116],force_str:340,forcibl:[102,258],fore:305,forebod:187,foreground:[42,100,114,126,183,267,321],foreign:125,foreignkei:[148,246,256,318,335],forens:210,forest:[13,111,112,140,187],forest_meadow:112,forest_room:112,forestobj:140,forev:[61,102],forget:[3,9,10,13,25,27,33,41,54,62,72,79,82,85,86,95,96,100,123,131,206,322],forgo:232,forgotten:[28,49,77,85],fork:[9,79],forloop:69,form:[11,13,27,31,33,34,38,43,45,51,53,55,58,59,61,64,68,70,74,76,77,80,83,88,89,93,96,97,109,112,113,114,115,116,118,123,124,125,127,129,135,141,142,144,146,151,153,154,157,159,164,167,170,175,176,177,179,188,189,205,206,210,239,241,242,247,251,252,257,259,261,265,285,287,291,295,306,308,316,317,318,321,322,324,325,326,327,328,330,337,340,341,344,345,346,356],form_char:327,form_template_to_dict:188,formal:[61,80,96,138,247,291],format:[0,14,17,19,22,23,27,31,33,37,38,41,42,46,48,55,58,62,68,69,76,79,81,83,88,96,98,103,108,109,111,113,114,119,124,129,131,133,138,152,154,156,159,166,170,175,180,182,183,184,188,198,206,209,215,219,230,234,235,239,247,249,251,252,257,267,272,282,287,307,309,316,318,321,322,324,326,328,329,330,331,337,339,344,345,363],format_attribut:159,format_available_protfunc:251,format_callback:192,format_diff:252,format_extern:175,format_grid:344,format_help:234,format_help_entri:166,format_help_index:166,format_messag:175,format_output:159,format_send:175,format_t:344,format_text:180,format_usag:234,formatt:[188,251,328,329],formcallback:188,formchar:[58,327],formdata:188,former:[17,23,64,126,328],formfield:340,formhelptext:188,formstr:58,formtempl:188,formul:134,forth:[27,43,131,159,220],fortress:111,fortun:[4,33,39,48,69,122,128],forum:[1,9,37,48,55,57,63,90,98,128],forward:[13,14,20,38,42,45,50,51,62,69,90,121,126,144,148,177,199,209,239,246,256,312,316,318,319,327,329,335],forwardfor:67,forwardmanytoonedescriptor:[246,256,335],forwardonetoonedescriptor:[246,256,335],foul:109,found:[2,4,6,9,10,13,14,15,20,22,23,25,27,31,33,38,39,40,41,42,43,49,51,55,57,58,59,63,68,73,74,76,78,80,83,85,89,90,91,94,97,103,104,109,112,116,119,122,123,125,127,128,134,135,137,138,141,144,149,150,151,152,154,159,164,167,168,175,179,180,192,194,195,206,233,239,242,247,250,251,252,258,261,266,267,273,282,285,296,306,308,316,317,318,321,322,323,324,328,330,334,339,341,344,347],foundat:[49,55,77,79,217],four:[4,14,27,38,39,40,68,73,82,86,87,111,114,119,153,177,187,242],fourth:39,fqdn:90,fractal:56,fraction:127,frame:[137,138],framework:[3,16,64,94,124,133,136,137,170,217,220,340],frankli:129,free:[0,22,29,37,48,55,57,60,61,64,76,77,79,90,106,112,116,123,124,126,130,133,139,179,206,215,218,251],freedn:90,freedom:[14,26,44,63],freeform:[73,116,182],freeli:[55,77,100,103,322],freenod:[9,43,57,63,70,72,79,90,146,164,308],freepik:79,freetext:[176,341],freez:[29,33,42,194],frequenc:205,frequent:[91,180],frequentlyaskedquest:94,fresh:[11,31,58,128,267],freshli:111,fri:12,friarzen:138,friend:[37,58,61,82,103],friendli:[22,38,78,95,133,138,148],friendlier:[175,247],frighten:219,from:[0,2,3,5,6,8,9,10,11,12,13,14,15,16,17,19,21,22,23,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,52,54,56,57,58,59,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,79,80,81,82,83,84,85,86,87,89,91,92,93,95,97,98,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,139,140,141,142,144,146,148,149,150,151,152,153,154,156,157,158,159,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,183,184,185,186,187,188,189,194,195,198,199,202,203,204,205,206,209,210,211,212,213,215,217,218,219,220,221,226,231,232,233,234,235,238,239,241,242,243,246,247,251,252,256,257,258,260,261,264,267,272,273,274,276,277,278,279,280,284,285,286,287,290,295,296,299,301,305,306,307,308,310,312,313,314,316,317,318,319,320,321,322,323,324,325,326,327,329,330,331,334,335,337,338,340,341,343,344,345,347,357,363,364],from_channel:146,from_db_valu:340,from_nod:[51,328],from_obj:[81,83,118,144,146,154,189,247],from_pickl:325,from_tz:345,frombox:276,fromstr:276,fromtimestamp:331,front:[8,13,20,73,80,85,96,103,109,131,137,139],frontend:[215,316],frozen:[29,33,122,195],fruit:203,ftabl:344,ftp:343,fuel:[21,220],fugiat:52,fulfil:267,full:[4,9,13,14,15,16,17,20,21,23,24,25,26,27,33,37,38,43,51,55,57,58,59,60,61,64,73,75,80,84,88,89,90,95,96,97,100,101,102,105,108,109,110,111,115,116,117,119,121,123,124,125,127,128,131,133,134,135,136,146,151,153,154,158,159,164,168,169,170,175,179,180,185,187,190,202,205,206,215,220,230,234,242,252,257,279,285,298,308,309,316,318,322,326,328,330,344],full_justifi:109,full_nam:87,full_result:185,fullchain:67,fuller:58,fullhost:67,fulli:[4,11,19,33,51,55,58,59,61,63,85,86,90,93,103,110,122,144,205,242,247,259,295,307,324,344],fullview:122,fun:[20,26,61,79,81,111,136],func1:[43,159,242,299],func2:[43,159,242,299],func:[5,10,21,22,25,28,29,30,33,38,42,44,50,51,56,58,60,62,71,73,80,81,82,83,85,91,116,119,121,123,150,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,184,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,241,242,247,278,299,303,312,326,328,329,331,344],funciton:220,funcnam:[74,114,242,250,251,261,328,344],funcool:79,funcpars:[250,308,344],funcparser_cal:250,funcparser_outgoing_messages_modul:308,functioncal:276,functionnam:276,functionpars:251,functool:63,fund:70,fundament:[33,57,77,89,95,96,112,247],furnitur:[13,112,125],further:[0,9,11,27,31,34,38,42,43,44,49,57,83,85,86,90,91,96,100,102,104,105,106,109,110,111,119,124,125,130,131,138,153,159,181,205,219,221,252,267,291,344],furthermor:[37,38,124,126],fuss:100,futur:[9,10,11,20,23,38,43,45,50,55,58,60,61,62,63,76,87,95,100,123,139,156,195,232,235,272,317,338,345,364],futurist:62,fuzzi:[76,164,238,341,344],fuzzy_import_from_modul:344,gadget:70,gag:24,gain:[11,29,61,73,93,154,177,206,242,247],galosch:205,gambl:185,game:[0,2,3,4,5,6,8,9,10,11,13,14,15,17,18,19,20,21,22,23,24,25,28,29,30,31,33,34,35,36,37,38,41,42,43,44,46,50,51,52,53,56,60,63,64,65,66,67,68,69,71,72,75,76,77,78,79,80,81,83,85,86,87,88,89,91,92,93,95,96,97,98,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,121,122,125,129,130,132,133,134,135,136,137,138,139,140,143,144,146,148,150,152,153,154,156,157,158,159,163,164,165,166,169,170,171,172,175,176,177,178,179,180,181,182,184,185,186,187,188,190,193,194,195,196,199,204,205,206,213,215,217,218,219,220,221,226,229,230,233,234,239,243,246,247,256,258,259,262,267,269,270,271,272,278,279,284,286,287,290,291,298,299,300,305,306,308,317,318,319,322,323,324,326,327,331,334,337,344,363,364],game_dir:[337,344],game_epoch:[27,331],game_index_cli:[141,142,262],game_index_en:54,game_index_list:54,game_nam:[54,350],game_slogan:[9,350],game_statu:54,game_templ:47,game_websit:54,gamedir:[51,100,109,267,313],gamedirnam:58,gameindexcli:270,gameplai:90,gamer:[65,72],gamesrc:27,gametim:[27,53,59,139,141,142,184,187,195,320,364],gametime_to_realtim:184,gametimescript:184,gammon:[79,282],gandalf:51,garbag:316,garden:79,garment:182,gatewai:[110,296],gather:[24,33,48,83,94,119,127,132,136,150,151,233,265,269,324,341],gave:[5,21,60,64,91,102,126],gbg:321,gcc:63,gcreat:169,gear:[43,90,106,136,146,153,171,186],gemer:204,gen:17,gender:189,gendercharact:189,gendersub:[141,142,178],gener:[0,1,5,9,10,11,12,20,23,25,29,31,33,34,36,37,38,48,49,51,55,57,58,59,60,62,63,64,68,70,73,76,80,83,86,87,88,90,93,96,104,105,106,109,111,112,114,116,126,127,134,137,138,139,141,142,144,146,149,154,155,156,159,166,167,168,170,171,175,179,180,181,182,185,186,187,188,189,195,199,202,204,205,206,209,210,212,213,214,215,217,218,219,220,221,226,230,231,233,234,239,242,247,249,252,278,285,287,290,291,295,306,307,308,312,316,319,320,321,323,324,326,329,330,337,339,340,344,349,357,364],general_context:[141,142,346,348],generate_sessid:285,generic_mud_communication_protocol:291,genericbuildingcmd:180,genericbuildingmenu:180,genesi:90,geniu:203,genr:[37,64,281],geoff:234,geograph:140,geographi:39,geoip:209,geometr:111,geometri:111,get:[0,1,2,3,5,6,7,8,9,10,11,12,13,15,16,17,21,22,23,25,26,28,29,30,31,33,38,39,40,41,42,44,45,46,47,48,49,50,54,55,56,57,58,59,60,61,62,64,65,68,69,71,72,73,74,75,76,77,80,81,82,83,84,85,86,87,88,90,91,92,93,95,96,97,100,102,103,104,105,106,107,110,111,112,114,116,118,121,122,123,125,126,127,128,130,131,133,134,135,136,137,138,139,144,146,148,152,153,154,156,157,159,160,164,165,166,171,175,176,177,180,182,185,192,194,195,198,199,203,204,206,213,214,215,217,218,219,220,221,223,226,232,233,235,238,239,242,246,247,249,251,252,256,258,261,265,267,272,276,277,281,285,287,290,291,293,295,296,304,306,307,308,310,316,317,318,319,321,322,323,326,328,330,331,333,334,337,338,339,341,344,357,363,364],get_abl:60,get_absolute_url:[134,175,239,318],get_account:[242,306],get_al:316,get_alia:317,get_all_attribut:316,get_all_cached_inst:334,get_all_categori:238,get_all_channel:176,get_all_cmd_keys_and_alias:152,get_all_cmdset:344,get_all_mail:199,get_all_puppet:144,get_all_sync_data:308,get_all_top:238,get_all_typeclass:344,get_and_merge_cmdset:153,get_attack:[217,218,219,220,221],get_attr:159,get_attribut:317,get_buff:326,get_by_alia:317,get_by_attribut:317,get_by_nick:317,get_by_permiss:317,get_by_tag:317,get_cach:316,get_cache_kei:310,get_cached_inst:334,get_callback:195,get_channel:[41,176],get_channel_alias:164,get_channel_histori:164,get_charact:306,get_client_opt:272,get_client_s:306,get_client_sess:[295,296],get_client_sessid:296,get_command_info:[154,167],get_damag:[217,218,219,220,221],get_db_prep_lookup:340,get_db_prep_valu:340,get_dbref_rang:317,get_def:260,get_default:340,get_defens:[217,218,219,220,221],get_display_nam:[22,42,46,58,144,206,235,247,318],get_err_msg:[6,20,80],get_ev:195,get_evennia_pid:344,get_evennia_vers:344,get_event_handl:198,get_extra_info:[41,154,247,318],get_famili:[119,125],get_game_dir_path:344,get_god_account:271,get_height:330,get_help:[33,68,69,154,170,193,234,328],get_help_text:311,get_id:[133,260,317],get_info_dict:[284,305],get_input:[170,328],get_inputfunc:[272,291,308],get_internal_typ:340,get_kwarg:360,get_location_nam:235,get_log_filenam:175,get_mass:82,get_message_by_id:176,get_messages_by_receiv:176,get_messages_by_send:176,get_min_height:330,get_min_width:330,get_new:286,get_new_coordin:235,get_next_by_date_join:148,get_next_by_db_date_cr:[148,177,239,246,256,316,318],get_next_wait:198,get_nick:317,get_nicklist:[146,279],get_numbered_nam:247,get_obj_coordin:235,get_object_with_account:341,get_objs_at_coordin:235,get_oth:179,get_permiss:317,get_pid:267,get_player_count:281,get_previous_by_date_join:148,get_previous_by_db_date_cr:[148,177,239,246,256,316,318],get_puppet:[2,144,306],get_puppet_or_account:306,get_rang:221,get_regex_tupl:206,get_respons:351,get_room_at:39,get_rooms_around:39,get_sess:308,get_statu:277,get_subscript:176,get_sync_data:307,get_system_cmd:152,get_tag:317,get_time_and_season:187,get_typeclass_tot:317,get_uptim:281,get_username_valid:144,get_valu:[272,291],get_vari:[192,195],get_width:330,get_worn_cloth:182,getattr:84,getbootstrap:16,getchild:312,getclientaddress:[40,287],getel:137,getenv:[267,277],getgl:137,getinput:328,getkeypair:287,getloadavg:75,getpeer:287,getpid:344,getsizof:334,getsslcontext:[288,292],getston:33,getter:[148,177,182,206,218,221,246,247,274,316],gettext:76,gfg:321,ghostli:233,giant:[21,124],gid:[45,70,100,299],gidcount:298,gif:[70,133],gift:69,girl:247,gist:[205,344],git:[9,23,25,36,38,45,47,63,75,76,79,86,90,100,108,124,128,130],gith:96,github:[3,9,25,37,41,43,45,46,57,63,70,75,76,79,95,96,98,104,127,130,131,135,138,180,295,312,344],githubusercont:101,gitignor:131,give:[0,1,2,3,4,5,9,10,11,12,13,15,18,19,20,21,22,23,25,26,27,30,33,38,39,41,46,48,51,52,55,57,58,59,60,61,62,63,64,68,69,73,75,77,79,80,82,85,88,89,90,91,93,94,96,98,100,102,103,105,107,109,110,111,112,113,114,115,116,117,118,119,122,123,124,125,127,128,133,134,136,138,139,140,144,150,152,153,156,164,165,167,169,175,176,180,181,182,187,204,205,214,215,217,218,219,220,221,226,233,235,247,256,293,306,312,316,318,321,328,330,341,342,344,363,364],given:[0,2,4,10,11,12,13,14,20,21,22,25,27,31,33,34,38,39,42,43,46,49,50,51,58,62,64,70,73,74,80,83,84,85,86,88,89,90,93,97,100,102,105,109,110,113,114,115,116,117,119,122,123,125,126,127,131,133,134,135,138,140,144,150,151,152,153,154,156,157,159,164,166,168,169,170,175,176,177,180,181,182,184,185,186,187,188,189,190,192,194,198,203,204,205,206,212,215,217,218,219,220,221,226,232,233,234,241,242,247,249,251,252,257,258,259,261,265,267,272,273,276,285,290,291,296,299,302,306,307,308,309,310,311,312,316,317,318,319,321,322,324,325,326,327,328,329,330,331,334,337,339,340,341,342,344,347,349],giver:[218,221,247],glad:91,glanc:[22,27,31,33,39,48,58,61,91,96,180,206],glance_exit:22,glass:[203,226],glob:[43,51,165,328],global:[13,22,33,34,35,43,45,51,56,61,64,67,74,85,89,100,104,105,108,109,114,115,120,125,131,132,137,138,140,159,169,175,187,195,204,206,212,247,252,253,256,260,264,267,272,274,277,298,299,322,323,324,328,331,341,342,344,350],global_script:[102,141,323],global_search:[13,22,27,58,91,144,206,247,317],globalscript:43,globalscriptcontain:323,globalth:342,globe:[90,136],gloss:61,glossari:[63,139,364],glow:111,glppebr05ji:133,glu:92,glyph:276,gmcp:[55,74,83,291],gmsheet:58,gmud:24,gno:22,gnome:24,gnu:14,go_back:[51,215,328],go_back_func:51,go_up_one_categori:215,goal:[61,76,79,91,102,103,122,124,205],goals_of_input_valid:357,goblin:[43,51,109,159,252],goblin_arch:252,goblin_archwizard:252,goblin_shaman:109,goblin_wizard:252,goblinwieldingclub:109,god:[20,80,271],godlik:206,goe:[0,5,9,22,26,29,33,37,40,42,49,64,69,73,75,86,90,95,96,118,121,122,123,139,152,153,221,235,247,287,290,305,306,343,344],goff:204,going:[0,3,20,25,26,40,45,46,49,51,58,61,62,65,69,70,82,88,90,91,95,96,100,111,116,121,127,133,138,139,180,206,217,218,219,220,221,226,230,233,235,247,264,269,321,328],goings:269,gold:[51,82,85,109,322],gold_valu:85,golden:138,goldenlayout:138,goldenlayout_config:[137,138],goldenlayout_default_config:[137,138],gone:[5,12,77,80,85,100,102,131],good:[0,2,4,5,9,11,12,14,20,21,22,25,26,27,31,33,37,38,39,40,41,46,48,49,51,54,55,56,57,60,61,63,69,70,72,73,79,80,85,87,90,91,93,94,95,96,97,100,102,103,104,106,109,110,111,114,119,121,123,125,126,127,131,133,134,138,144,152,153,154,170,179,194,206,290,328],goodby:287,goodgui:242,googl:[38,43,70,75,79,90,164,330],googlegroup:92,googleusercont:[70,133],googli:136,gossip:[65,79,164],got:[10,13,95,96,116,128,138,215,232],goto_cal:[51,328],goto_cleanup_cmdset:230,goto_command_demo_comm:230,goto_command_demo_help:230,goto_command_demo_room:230,goto_kwarg:328,goto_next_room:121,goto_node2:51,goto_str_or_cal:51,gotostr_or_func:328,gotten:[55,95,131,221,232,247,294],graaah:117,grab:[20,33,43,73,133,165,232],gracefulli:[26,43,156,169,206,247,267,344],gradual:[13,14,29,61,79,96,205],grai:[114,126],grain:[115,324],gram:82,grammar:205,grammat:205,grand:11,grant:[19,23,80,131,177,217,218,219,220,221,241,242,251,316],granular:221,grapevin:[7,139,141,142,146,164,262,275,364],grapevine2chan:[65,164],grapevine_:164,grapevine_channel:[65,146,164],grapevine_client_id:65,grapevine_client_secret:65,grapevine_en:[65,164],grapevinebot:146,grapevinecli:278,graph:[49,131],graphic:[42,58,80,83,84,93,111,128,135,141,186,190,291],grasp:[126,133],grave:60,grayscal:183,great:[0,4,14,16,21,22,29,37,39,51,57,61,69,70,73,77,79,91,95,107,108,123,127,131,134,180,188,312],greater:[22,31,73,80,97,105,119,241,328],greatli:78,greek:15,green:[31,43,80,109,114,126,131,159,169,232,321],greenskin:252,greet:[9,35,46,95,104,105,117,272],greetjack:87,greg:79,grei:[109,126,321],grenad:89,grep:[75,131],greyscal:[114,321],greyskinnedgoblin:109,griatch:[21,70,86,119,122,179,181,183,184,185,186,187,189,199,202,205,206,212,213,214,230,232,327,334,340,343],grid:[7,16,111,123,139,166,221,235,344,364],grief:12,griefer:134,grin:[33,41,316],grip:38,gritti:33,ground:[20,21,55,111],group:[4,9,10,12,19,21,26,33,37,41,43,46,55,68,70,79,91,94,100,102,109,112,125,127,139,140,148,155,159,165,166,176,187,203,205,232,233,247,251,252,276,316,319,321,324],groupd:316,grow:[13,25,26,61,63,79,110,278,279,330,344],grown:[9,25,51,129],grudg:73,grumbl:60,grungies1138:[199,214],grunt:[43,159,252],gstart:169,gthi:81,guarante:[11,37,61,67,80,86,90,102,185,195,251,285,306,318],guard:51,guess:[15,22,46,50,69,91,103,113,138,180,252],guest1:66,guest9:66,guest:[7,53,80,139,144,364],guest_en:[66,80],guest_hom:[66,133],guest_list:66,guest_start_loc:66,guestaccount:112,gui:[45,57,83,137,199,364],guid:[36,37,45,81,95,96,128,133,136],guidelin:[37,38,79],guild:[79,86,112,118,164],guild_memb:51,gun:[21,77],guru:55,h175:133,h189:133,h194:133,h60:133,habit:56,habitu:115,hack:[55,73,116,276],hacker:[79,103],had:[8,9,14,15,19,20,21,29,31,37,55,61,90,95,96,100,102,119,123,128,135,138,154,158,170,182,232,252,256,267,318,322,329,357],hadn:[61,62,131],half:[108,138,239],hall:49,hallwai:49,halt:[102,111],hand:[1,15,37,38,40,43,51,55,56,57,58,61,70,73,87,89,96,105,108,119,134,154,165,167,169,179],handi:[42,75,119,133,219],handl:[0,2,4,5,7,8,9,11,13,15,22,24,27,33,34,37,40,41,43,44,47,49,50,51,53,55,56,60,61,62,64,67,68,74,75,80,83,85,86,87,88,89,91,93,95,97,100,104,105,108,115,116,117,124,125,126,128,129,131,132,137,138,139,144,146,149,150,152,153,159,160,164,165,168,179,186,187,195,198,206,210,212,214,215,217,218,219,220,221,226,232,233,234,236,246,247,250,251,252,256,257,260,264,267,271,272,276,277,279,280,287,290,291,294,296,298,307,308,316,318,321,322,324,325,326,328,329,330,331,334,343,344,351],handle_egd_respons:269,handle_eof:287,handle_error:[164,195,260],handle_ff:287,handle_foo_messag:[51,328],handle_int:287,handle_messag:[51,328],handle_message2:51,handle_numb:[51,328],handle_quit:287,handle_setup:271,handler:[2,11,31,33,41,47,64,73,80,83,84,86,87,89,102,104,105,112,115,125,139,144,150,153,168,172,177,179,192,195,196,198,206,231,235,241,242,246,247,252,257,258,260,261,272,284,285,305,308,314,316,318,319,323,324,327,328,338,339,344],handlertyp:319,handshak:[24,52,83,277,283,285,290],handshake_don:290,hang:[3,61,70,124],hangout:119,happen:[0,6,12,19,20,26,27,31,33,37,39,41,42,44,51,54,55,57,58,60,61,62,64,72,73,77,80,83,86,88,90,91,95,96,97,102,105,107,108,110,111,114,115,116,119,122,123,126,127,128,131,133,138,144,152,153,164,175,184,213,217,218,219,220,221,231,233,235,247,252,260,269,276,279,299,304,306,307,308,318,328,329,334,337,344],happend:252,happi:[13,119,328],happier:91,happili:96,haproxi:[90,139,364],hard:[9,10,11,13,15,19,26,27,31,33,38,40,41,58,61,63,64,76,79,88,90,93,96,97,100,102,109,112,115,119,121,127,131,133,138,139,168,188,215,256,267,316,318,328,364],hardcod:[57,58,77,100,111,140,316],harden:63,harder:[12,56,61,93,119,127,232],hardwar:[90,280],hare:79,harm:[11,29,219],harri:59,has:[0,2,4,8,9,10,11,12,13,14,15,16,19,20,21,22,23,25,27,28,29,31,33,34,36,37,39,40,41,42,43,44,46,47,49,50,51,53,54,56,57,58,59,60,61,62,63,64,65,67,68,69,70,71,74,75,76,77,78,79,80,83,85,86,87,88,89,90,91,93,94,95,96,97,100,101,102,103,104,105,107,109,110,112,113,114,115,116,117,118,119,121,122,123,125,126,127,128,129,131,132,133,134,135,136,137,138,139,143,144,146,151,152,153,154,156,158,159,164,166,167,169,170,171,175,176,179,180,184,185,186,187,188,195,199,203,204,206,215,217,218,219,220,221,223,226,231,232,233,234,235,239,241,242,246,247,251,252,256,259,260,261,267,269,271,272,276,279,281,285,289,294,295,299,305,306,307,308,310,316,317,318,319,324,326,327,328,330,334,337,338,341,344,357,360],has_account:[89,231,241,246,247],has_attribut:316,has_cmdset:153,has_connect:[41,175],has_drawn:49,has_nick:316,has_par:344,has_perm:[167,242],has_sub:175,has_tag:319,has_thorn:11,hasattr:[28,33],hash:[14,90,109,252,261,295,299,308,317],hasn:[22,49,204,232,316],hassl:62,hast:219,hat:[37,70,182],hau:[65,146,164,278],have:[0,1,2,3,4,5,6,9,10,11,12,13,14,15,16,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,102,103,104,105,106,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,144,146,150,152,153,154,156,159,161,164,167,168,169,170,171,175,176,177,179,180,181,182,184,186,187,188,189,194,195,198,202,204,205,206,209,210,215,217,218,219,220,221,226,233,234,238,239,241,246,247,250,251,252,253,256,259,260,261,272,277,280,281,285,287,290,291,305,306,307,308,313,314,316,317,318,319,321,322,323,324,325,327,328,329,330,337,340,341,342,344,345,350,357,363],haven:[4,22,29,42,62,67,77,109,111,117,118,120,127,128,133,134,138,310],head:[20,21,31,46,69,76,77,96,106,119,121,123,138,139],headach:[61,138],header:[9,13,14,27,34,37,38,63,89,95,103,129,138,154,166,177,199,206,247,322,324,329,330],header_color:159,header_line_char:330,headi:330,heading1:330,heading2:330,headless:[96,247],headlong:63,heal:[219,220,233],healing_rang:220,health:[30,61,73,84,88,90,109,116,190,252,291],health_bar:[141,142,178],hear:[29,46,61,170],heard:[111,122],heart:126,heartbeat:[115,278],heavi:[6,11,20,23,27,33,64,73,80,82,96,116,123,179,206,218,280,344],heavier:218,heavili:[9,27,37,40,57,75,86,104,180,217,218,219,220,221,318],heed:[105,242],heh:138,hei:[20,179,199,205],height:[52,74,137,141,272,287,306,327,330],held:[1,31,48,116,241],hello:[0,29,34,41,43,46,51,72,74,83,87,88,91,96,105,108,123,129,164,165,170,175,206,272,321],hello_funct:95,hello_valu:108,hello_world:[95,96,108],helmet:[29,77],help:[0,1,4,5,12,13,14,15,19,22,23,27,29,32,33,35,38,39,41,42,44,45,46,47,48,49,50,51,53,57,58,60,61,63,64,67,71,72,76,77,79,80,86,90,91,93,96,105,107,108,109,110,111,112,113,116,119,122,123,124,126,127,131,133,137,138,139,141,142,149,150,152,154,155,156,164,167,170,171,179,184,186,188,192,193,195,199,205,209,217,218,219,220,221,226,230,233,234,249,260,265,267,269,270,278,285,287,288,290,292,295,296,298,299,316,317,321,324,325,326,328,329,339,340,341,342,351,357,363,364],help_categori:[22,33,41,43,58,60,68,69,71,85,116,123,154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,238,239,247,326,328,329,341],help_cateogori:326,help_entri:326,help_kei:159,help_mor:166,help_system:69,help_text:[166,195,357],helpact:234,helparg:170,helpentri:[69,80,238,239,324],helpentry_set:319,helpentrymanag:[238,239],helper:[19,41,43,51,58,67,80,109,119,141,144,153,156,159,164,166,176,180,184,205,247,251,252,264,276,277,296,308,322,328,329,337,342,343,344],helpfil:166,helptext:[51,249,328],helptext_formatt:[51,249,328],henc:[0,22,46,76,95,106,233,234,322],henceforth:[13,44,60,66,80,90,95,97,102,105,111,123,131,132,140,308],henddher:203,her:[122,127,182,189],herbal:327,herd:23,here:[0,2,3,4,5,9,10,11,13,14,15,16,17,19,20,21,22,23,24,25,27,29,30,33,36,37,38,39,40,41,42,43,44,46,47,48,49,51,53,56,57,58,59,61,62,63,64,65,67,69,70,71,72,73,74,75,76,77,79,80,81,83,84,85,86,87,88,89,91,92,95,98,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,123,125,126,127,128,129,130,131,133,134,135,136,137,144,146,152,153,154,159,167,168,169,170,171,179,180,181,182,184,185,186,194,195,204,205,206,213,217,218,219,220,223,231,232,233,234,235,239,242,247,251,252,267,269,272,276,278,284,285,287,290,305,306,308,314,316,318,321,324,328,330,334,347],hesit:[22,39],hfill_char:330,hidden:[11,49,61,64,96,122,131,137,177,182,185,234],hide:[9,11,20,31,33,34,41,61,73,80,96,111,138,166,177,185,206,232],hide_from:[34,177],hide_from_accounts_set:148,hide_from_objects_set:246,hieararci:241,hierarch:[2,19,43,80,156],hierarchi:[4,19,22,43,61,66,69,80,119,139,165,182,241],high:[4,8,20,31,55,63,80,122,152,220,247,309],higher:[7,19,25,31,41,43,44,51,56,58,62,63,73,80,90,105,108,119,123,128,144,152,156,169,205,217,218,219,220,221,233,241,269,328,344],highest:[31,58,321,344],highest_protocol:340,highli:[9,17,51,55,56,64,80,86,107,115,117,190,322,334],highlight:[14,38,57,58,114,126],hijack:134,hilight:343,hilit:343,hill:87,him:[41,46,51,189,206],hint:[1,25,55,63,79,93,95,109,110,123,124,128,136,139,184,313],hire:[85,103],his:[46,51,58,77,96,109,127,182,189,206,329,343],histogram:344,histor:[62,129,266,337],histori:[4,23,34,41,50,58,64,95,100,131,137,138,139,153,164,175,188,337],hit:[6,9,21,29,52,61,73,116,119,122,131,146,217,218,219,220,221,231,232,265,306,337,340],hit_msg:231,hite:114,hlxvkvaimj4:133,hmm:138,hnow:114,hobbi:[61,90],hobbit:62,hoc:55,hold:[2,6,9,13,14,16,21,26,31,34,36,38,41,47,49,51,58,61,63,64,66,73,77,80,85,89,96,97,100,102,104,105,106,109,111,112,114,116,119,123,125,131,133,136,140,152,153,178,180,182,185,204,214,215,217,218,219,220,221,229,231,232,236,241,242,251,252,253,257,262,274,276,285,295,296,298,308,318,319,320,324,327,328,330,332,337,344,346],holder:[9,69,90,316],home:[8,16,26,63,64,66,70,79,89,90,103,109,131,133,139,153,159,165,231,246,247,252,324,344],home_loc:[43,159],homepag:[27,63,79,90,93],homes_set:246,homogen:[27,251,252,256],homogenize_prototyp:251,honor:206,hood:[20,33,38,51,57,60,61,64,86,87,119,122,125,128,206,234],hook:[2,25,30,33,43,49,55,60,61,73,74,76,80,81,89,96,102,107,110,115,116,117,118,120,121,123,127,132,144,150,152,154,156,159,164,165,167,169,170,175,182,187,195,203,204,206,210,217,218,219,220,221,228,230,231,232,233,235,247,256,259,261,271,278,290,293,295,303,305,306,307,309,318,326,329,334,335,338,342,344,357],hooligan:12,hop:55,hope:[42,58,91],hopefulli:[8,26,41,49,90,111,133,137],horizon:62,horizont:[138,232,330,344],hors:27,host1plu:90,host:[7,12,23,26,27,61,64,67,89,98,100,102,103,131,135,205,312,344],host_os_i:344,hostnam:67,hotbutton:137,hotel:90,hotspot:103,hour:[27,62,132,184,331,344],hous:[43,90,109,159],housecat:27,hover:138,how:[0,1,3,4,5,6,7,8,10,11,12,13,14,15,17,19,20,21,22,25,26,27,28,29,30,31,35,37,38,39,40,41,42,43,44,45,46,48,49,51,55,56,57,60,61,62,63,64,66,68,69,72,73,75,77,80,81,82,83,84,85,86,87,88,90,91,93,94,95,96,97,102,103,104,105,106,108,109,110,111,112,116,117,118,119,120,123,124,126,127,128,130,131,132,133,134,135,136,137,138,139,140,146,151,153,154,168,169,170,175,180,182,184,185,189,204,205,206,213,215,219,220,221,226,231,235,241,246,247,252,256,261,267,272,277,281,286,291,294,298,305,306,307,308,312,318,322,326,328,329,330,337,338,343,344,357,363,364],howev:[0,2,4,5,10,11,12,13,14,15,17,20,22,23,29,30,31,33,37,38,40,41,43,44,46,50,55,58,59,60,62,70,73,77,80,85,88,90,91,108,109,110,111,113,114,115,120,123,125,128,129,131,132,135,153,154,159,166,169,170,180,188,190,195,204,215,220,226,241,321],howto:94,hpad_char:330,href:[17,69,133],hrs:184,htm:282,html5:55,html:[11,24,38,43,55,57,61,64,69,79,83,94,96,103,111,114,134,135,136,137,138,169,175,204,234,239,289,291,295,296,312,318,340,343,347],htmlchar:343,htop:110,http404:[69,134],http:[3,4,9,10,11,16,22,23,36,37,38,39,41,43,45,46,54,55,57,61,63,64,65,69,70,75,79,83,90,92,94,95,96,98,101,103,104,107,108,111,116,122,124,127,128,130,131,133,134,135,137,138,141,146,164,180,204,234,269,276,278,279,280,281,282,283,289,291,294,295,296,312,321,330,343,344,357],http_request:[103,135],httpchannel:312,httpchannelwithxforwardedfor:312,httpd:8,httprequest:144,httpresponseredirect:133,hub:[79,100,139,324],hue:114,huge:[3,16,21,29,39,61,62,86,127,235,329],huh:[22,33],human:[4,12,40,51,57,61,64,73,85,93,96,117,133],humanizeconfig:4,hundr:[72,113,133],hungri:86,hunt:[73,231],hunting_pac:231,hunting_skil:73,hurdl:49,hurt:30,huzzah:9,hwejfpoiwjrpw09:9,hxvgrbok3:122,hybrid:73,i18n:[47,76,247],iac:88,iattribut:316,iattributebackend:316,icon:[79,106,138],id_:357,id_str:84,idcount:298,idea:[0,9,12,26,33,37,38,39,45,49,55,56,60,61,63,69,71,72,73,77,80,85,106,107,108,119,121,123,127,131,133,134,139,154,166,167,170,179,205,252,334,343,364],ideal:[1,6,33,37,46,48,90,129,138,148,242],idenfi:152,ident:[9,31,33,44,57,61,83,96,97,110,114,144,167,206,212,242,247,321,322],identif:[27,115,308],identifi:[0,8,23,28,30,31,33,38,39,41,42,43,49,50,51,58,61,69,74,83,84,88,93,97,102,109,115,116,119,125,134,138,151,154,159,164,167,170,176,180,187,205,206,215,233,242,247,251,258,261,264,267,272,274,277,291,295,304,306,308,316,317,321,324,327,328,344],identify_object:176,idl:[12,105,144,146,231,247,299,306,308],idle_command:33,idle_tim:[144,247],idle_timeout:146,idmap:334,idmapp:[43,86,125,141,142,169,177,239,274,300,316,317,318,320],idnum:176,ids:[12,58,121,187,298,308,327],idstr:[84,115,257,261,304,344],idtifi:176,idx:121,ietf:283,ifconfig:67,ifram:[137,138],ignor:[6,14,20,23,27,29,31,33,34,38,42,43,51,58,73,74,80,83,86,90,91,95,96,105,114,117,121,122,125,131,144,151,152,153,154,159,170,187,206,241,246,247,261,267,272,278,279,294,295,296,316,318,321,322,327,328,339,344,345],ignore_error:144,ignorecas:[159,165,166,171,182,321,326,328,343],ignoredext:312,ij9:122,illumin:111,illus:[10,96],imag:[4,17,63,69,70,90,101,106,122,133,135,136,137,138,347],imagesconfig:4,imagin:[14,29,31,46,48,51,61,77,116,117,122,132,138,226,322],imaginari:[21,61,79,111],imc2:34,imeplement:235,img:[17,70],immedi:[0,5,15,27,29,33,43,48,49,51,64,70,74,83,90,95,100,102,109,116,120,133,134,157,169,231,278,322,324,328,329],immobil:25,immort:231,immut:[11,261],imo:1,impact:[94,126],impati:63,imper:102,implement:[1,6,11,21,25,26,28,29,31,33,34,37,40,41,49,51,55,56,57,58,60,61,78,79,80,81,86,88,89,96,97,108,111,112,114,115,116,117,118,119,120,123,124,125,127,128,131,135,137,138,139,140,148,152,153,156,157,158,159,160,161,164,165,166,167,168,169,175,176,177,179,181,182,184,185,187,189,202,205,206,210,212,213,214,215,217,218,221,231,232,233,235,238,239,242,246,247,256,258,261,273,278,280,281,282,283,284,285,287,289,290,291,294,295,296,298,305,312,316,317,318,319,321,322,325,326,328,329,335,339,340,343,344,364],impli:[22,112],implicit:[91,114,126],implicit_keep:252,impmement:242,import_cmdset:153,importantli:[51,133,242],importerror:[4,9,344],impos:[55,79,310],imposs:[15,19,38,49,51,90,111,113,121,133,138,330],impract:[33,109,252],imprecis:334,impress:[42,111],improv:[0,11,37,61,70,76,91,128],in_game_error:[26,103],inabl:[63,103],inaccess:[0,80],inact:[102,231],inactiv:[43,169],inadvert:221,inadyn:90,inarticul:108,inbuilt:[67,112,123],incant:75,incarn:357,incid:210,includ:[2,4,6,9,12,13,16,20,21,22,27,30,31,33,36,37,38,39,41,43,44,48,51,53,55,58,60,61,62,63,64,69,73,74,75,78,79,80,84,85,88,89,91,93,95,96,100,101,102,104,105,106,107,108,109,111,112,114,115,116,119,121,125,127,131,133,134,135,136,137,138,144,150,151,152,154,157,158,159,167,170,175,179,182,187,188,189,195,205,206,210,215,217,218,219,220,221,233,234,235,241,247,259,267,285,287,290,291,304,307,316,317,318,319,321,322,323,324,325,327,328,330,331,337,344,347,350],include_account:316,include_children:317,include_par:317,include_prefix:151,include_unloggedin:[285,308],inclus:317,incoher:126,incol:[58,327,330],incom:[33,40,88,90,96,104,139,146,151,168,210,218,276,280,283,286,290,291,295,296,298,306,307,308,312,328,329],incomplet:[154,213,330],inconsist:[10,97,204],incorpor:[43,156,330],incorrect:176,increas:[25,62,73,80,103,114,119,125,179,218,220,221,233,279,285,299,326,328],increase_ind:326,incred:[215,269],increment:[63,316],incur:27,indata:[40,316],inde:[9,55,90,91],indefinit:[102,219,232,324],indent:[0,9,13,14,27,38,50,51,57,60,95,129,137,296,322,326,328,344],independ:[0,56,64,102,126,179,209],indetermin:269,index1:133,index2:133,index:[7,38,43,49,56,61,68,79,85,86,90,108,111,121,135,136,151,164,165,166,179,215,232,239,265,269,270,312,319,321,329,330,344,357,360,364],index_category_clr:166,index_to_select:215,index_topic_clr:166,index_type_separator_clr:166,indexerror:[134,235,317],indextest:360,indic:[0,8,22,38,43,49,51,62,85,91,95,111,119,146,159,166,167,189,210,215,256,259,278,279,287,294,295,308,310,312,316,321,322,328,329,344],individu:[0,11,13,14,18,21,22,33,34,41,43,46,48,49,55,57,58,59,71,73,78,85,88,90,96,109,111,132,153,157,175,185,192,195,220,249,252,306,319,321,330,338,339],ineffici:[115,117,321],infact:33,infinit:[0,61,63,146,235,251],inflict:[102,219],inflict_condit:219,influenc:[10,16,22,46,51,102,123,179,344],influenti:79,info1:214,info2:214,info3:214,info:[3,5,11,13,16,17,20,23,24,25,26,27,33,35,37,43,52,55,58,59,63,64,68,78,86,88,89,95,100,101,102,104,105,106,112,124,125,131,138,139,144,146,148,156,157,159,166,169,171,178,179,181,186,187,190,199,233,239,247,267,272,276,284,285,305,306,308,317,318,319,324,327,337,344],infomsg:337,inforamt:[206,235,247,318],inform:[0,2,3,6,8,9,18,20,22,23,25,27,28,33,34,36,38,41,43,46,48,51,55,60,65,66,68,69,73,83,84,85,86,91,94,95,96,100,102,103,104,105,109,112,114,116,117,119,120,123,124,127,131,132,133,134,135,136,137,138,139,144,146,154,157,159,164,165,169,177,180,185,204,206,210,211,219,220,221,239,247,267,272,281,282,283,285,294,307,308,317,318,321,324,326,337,344,357],infrastructur:[64,83,90,103,150,277],infrequ:46,ing:[9,14,58,185],ingam:46,ingame_python:[141,142,178],ingame_tim:62,ingo:[31,51,58,74,114,152,279],inher:[4,10,87,108],inherit:[2,5,6,22,27,30,31,33,36,40,42,43,57,60,64,69,81,86,89,96,102,109,114,117,119,123,125,127,148,152,154,159,167,169,170,175,177,179,180,182,187,189,203,206,213,217,218,219,220,221,230,231,233,234,243,246,247,252,256,258,307,314,317,318,326,329,330,334,342,344],inheritng:252,inherits_from:[43,117,134,169,344],inifinit:251,init:[6,9,22,38,40,47,49,58,60,63,75,83,95,104,106,131,137,138,179,180,188,246,267,285,286,296,308,344],init_delayed_messag:188,init_django_pagin:329,init_evt:329,init_f_str:329,init_fill_field:188,init_game_directori:267,init_iter:329,init_menu:230,init_mod:153,init_new_account:344,init_pag:[251,329],init_pars:234,init_queryset:329,init_rang:221,init_sess:[40,307],init_spawn_valu:251,init_str:329,init_tree_select:215,init_tru:153,initi:[5,9,11,21,29,33,38,47,49,50,51,58,60,61,64,68,73,85,97,105,107,110,120,123,127,130,131,133,137,138,144,146,153,154,170,175,179,186,188,192,196,198,205,206,215,217,218,219,220,221,226,230,231,232,246,247,251,257,260,261,264,265,267,269,270,271,276,277,278,280,281,282,283,285,286,287,288,289,290,291,292,294,295,296,298,306,307,308,316,321,323,326,327,328,329,339,340,344,351,357],initial_formdata:188,initial_ind:330,initial_setup:[141,142,262,305],initialdelai:[264,278,279],initialize_for_combat:[217,218,219,220,221],initialize_nick_templ:316,initil:295,inject:[96,103,306,322,328],inlin:[18,57,85,104,137,247,265],inlinefunc:[45,83,104,109,141,142,320],inlinefunc_en:114,inlinefunc_modul:114,inlinefunc_stack_maxs:114,inlinefunct:114,inmemori:316,inmemoryattribut:316,inmemoryattributebackend:316,inmemorybackend:316,inmemorysavehandl:339,inner:77,innoc:[12,43,157],innocu:103,inobject:276,inp:[51,159,176,251,265,329,344],inpect:51,input:[1,5,9,10,14,15,17,20,22,27,30,31,40,41,43,50,53,55,57,58,70,74,79,83,87,91,95,96,104,105,109,110,111,113,114,115,118,127,131,133,135,137,138,144,149,150,151,154,159,164,166,167,168,169,170,176,180,185,188,205,206,210,215,220,232,238,247,250,251,252,265,272,276,287,295,306,308,316,317,319,326,327,328,329,330,338,340,344,345,357],input_arg:170,input_cmdset:328,input_func_modul:[74,272],input_str:328,input_validation_cheat_sheet:357,inputcmdset:328,inputcommand:[74,83,88],inputcompon:137,inputdebug:[74,272],inputfunc:[40,45,104,139,141,142,146,262,295,306,308,364],inputfunc_nam:295,inputfunct:74,inputhandl:141,inputlin:[43,87,165,175,316,317],insecur:90,insensit:[51,166,187,206,233,317,349],insert:[13,14,25,50,51,58,64,71,87,96,109,114,138,153,189,202,251,322,328,330,344],insid:[0,5,10,11,13,15,19,20,21,23,25,27,28,31,33,38,42,43,46,47,51,57,59,64,67,68,69,71,72,73,80,82,83,85,86,88,89,91,92,93,95,96,100,102,105,106,108,109,110,111,114,117,121,123,125,127,132,133,134,135,136,139,141,146,169,175,180,187,190,194,195,206,231,233,235,241,246,247,250,267,284,305,312,322,323,344],inside_rec:241,insiderecurs:241,insight:[20,41,42,122,136],insist:[90,91],inspect:[12,23,43,51,85,144,159,179,265,267,328],inspectdb:86,inspir:[33,41,73,116,127,129,181,189,330,344],instac:[154,247,306],instal:[0,3,5,14,20,26,37,38,41,42,46,47,54,55,57,58,59,60,64,65,76,77,79,95,96,97,98,101,103,106,108,110,124,127,128,130,134,138,139,141,179,181,182,183,185,186,187,199,202,203,206,210,212,213,217,218,219,220,221,363,364],installed_app:[4,69,86,127,133,134],instanc:[0,2,3,8,11,16,17,22,25,27,28,29,39,41,42,43,46,50,51,56,57,58,59,60,61,62,64,69,76,84,85,91,95,96,97,102,103,105,107,109,116,119,121,126,127,131,136,137,144,148,150,151,152,153,154,163,166,168,169,170,175,177,180,195,198,204,215,234,235,239,246,247,251,252,256,260,261,264,267,276,277,278,279,280,281,282,283,285,289,290,294,298,299,307,308,312,316,318,319,321,324,325,328,330,334,335,340,344,345,357],instanci:180,instant:136,instanti:[33,86,127,144,153,170,226,258,261,284,305,308,316,327],instead:[0,3,6,9,10,11,12,14,16,19,20,21,22,23,25,26,27,29,30,31,33,34,37,39,41,43,46,48,49,51,57,58,60,62,63,64,67,79,80,83,84,85,86,89,90,91,93,95,96,100,102,103,104,105,106,109,110,111,112,114,116,117,118,119,121,123,125,126,127,128,131,132,133,134,135,136,138,139,144,146,153,154,156,157,159,161,164,168,169,171,175,180,185,186,188,198,205,206,213,215,217,218,219,220,221,230,232,234,235,241,242,247,252,261,267,295,296,306,310,316,318,319,324,328,329,334,337,339,340,341,344,357],instig:157,instil:[140,219],instnac:260,instr:[276,344],instruct:[0,8,9,13,14,23,27,30,37,38,42,43,46,47,55,57,58,60,61,63,67,74,75,77,79,83,85,90,93,96,97,100,106,119,124,131,139,144,154,169,206,210,252,261,264,267,277,279,285,290,291,295,296,298,306,308,328,338],insult:94,integ:[25,31,33,39,85,91,105,109,114,123,125,151,182,184,185,188,217,218,219,220,221,233,241,247,317,340,344,345],integerfield:[133,357],integr:[4,7,41,45,61,64,76,79,103,134,137,139,170,206,270,272,328,364],intellig:[73,83,91,103,134,153,298],intend:[13,17,20,22,27,31,33,34,37,42,55,61,90,103,108,109,111,112,114,122,126,131,136,137,144,179,180,206,239,247,252,285,317,319,324,325,327,330,341,342,344,345],intens:[79,93,114],intent:[51,76,96,103,205,344],inter:13,interact:[2,20,23,29,33,40,42,43,51,55,56,59,61,77,79,100,106,108,110,116,122,133,138,141,158,170,221,226,267,284,322,337,344],intercept:308,interchang:[116,328],interest:[0,1,4,11,14,20,21,22,26,33,37,40,42,46,49,55,57,60,61,70,79,86,90,91,93,96,103,109,114,119,120,121,123,136,153,168,179,184,233,235],interf:[63,226],interfac:[9,21,22,23,25,36,40,42,43,63,64,69,70,79,80,90,94,96,97,101,104,111,119,133,135,137,138,139,156,159,175,247,259,278,307,312,316,319,321,344],interfaceclass:287,interfer:[23,97,251],interim:[29,115],interlink:[284,305],intermediari:[206,242,257,328],intern:[10,11,15,27,34,38,40,51,63,76,80,87,88,90,100,102,103,104,105,107,109,110,112,113,116,128,144,146,177,186,189,206,235,247,251,258,295,296,316,318,319,321,325,328,330,344],internal:328,internal_port:90,internation:[7,113,139,364],internet:[10,12,16,33,40,43,63,67,72,90,94,103,124,157,264,269,277,278,279,287,290,298,312],interpret:[33,42,43,56,59,60,91,93,96,102,103,104,109,134,154,158,159,251,252,295,321,340],interrupt:[63,150,154,170,192,195,198,287],interruptcommand:[33,91,141,150,154],interruptev:198,intersect:[31,152],interv:[64,74,102,115,116,120,121,132,146,184,195,217,218,219,220,221,223,231,233,256,261,272,324,331,344],interval1:261,intim:[31,33],intimid:58,intoexit:[43,159],intpropv:123,intricaci:62,intrigu:54,intro:[4,69,122,124,134,230,233],intro_menu:[141,142,178,229],introduc:[26,29,31,57,73,97,123,124,127,131,139,206],introduct:[3,13,14,15,16,18,19,20,45,60,61,63,124,127,131,139,180,363,364],introductori:[55,63],introroom:233,introspect:203,intrus:126,intuit:[22,51,61,86,91,131,139,152],intxt:27,inv:[31,43,82,165,182],invalid:[11,41,60,91,109,144,188,206,251,330,340,344,345],invalid_formchar:327,inventori:[20,21,25,27,31,80,85,91,97,119,138,165,182,206,241,247,318],invers:[80,114,126,206,293,343],invert:[114,126],investig:90,invis:24,invit:[0,10,61,77,226],invitingli:[20,226],invok:[11,13,14,102,209],involv:[40,56,61,68,75,80,89,105,107,116,123,188,221,318,319,321],ioerror:322,ipregex:157,ipstart:[63,100,110],iptabl:103,ipython:[26,58,59,96],irc2chan:[72,164],irc:[7,9,26,34,43,55,60,63,70,79,94,98,131,138,139,141,142,146,164,172,262,272,275,285,308,363,364],irc_botnam:146,irc_channel:146,irc_en:[72,164,241],irc_network:146,irc_port:146,irc_rpl_endofnam:279,irc_rpl_namrepli:279,irc_ssl:146,ircbot:[146,279],ircbotfactori:[146,279],ircclient:[279,308],ircclientfactori:285,irchannel:[43,72,164],ircnetwork:[43,72,164],ircstatu:164,iron:179,ironrealm:291,irregular:[223,231,233],irregular_echo:231,irrelev:[103,276],irur:52,is_account_object:56,is_act:256,is_aggress:117,is_anonym:[4,69],is_anyon:4,is_authent:133,is_ban:144,is_bot:148,is_build:4,is_categori:215,is_channel:[33,41],is_connect:[148,247],is_craft:29,is_exit:[33,154],is_fight:29,is_full_moon:25,is_giving_light:232,is_gm:58,is_in_chargen:123,is_in_combat:[217,218,219,220,221],is_inst:27,is_it:344,is_iter:344,is_lit:[232,233],is_next:[148,177,239,246,256,316,318],is_o:344,is_ouch:11,is_prototype_bas:251,is_sai:118,is_subprocess:344,is_superus:[2,4,144,148,242,247,324],is_thief:[43,166],is_turn:[217,218,219,220,221],is_typeclass:[144,318],is_valid:[102,121,133,179,256,259],is_valid_coordin:235,isalnum:321,isalpha:321,isb:170,isbinari:[278,295],isclos:137,isconnect:137,isdigit:[58,114,321],isfiremag:28,isinst:[39,344],isleaf:296,islow:321,isn:[0,4,17,22,41,42,46,50,56,62,63,69,91,119,138,180,192,196,221,233,234,269,321,338,349],isnul:340,iso:[15,113],isol:[13,37,61,63,64,91,95,100,127],isp:[90,103],isspac:321,issu:[7,8,10,11,13,14,21,22,23,29,31,33,37,38,42,43,45,48,54,58,60,61,63,70,79,85,89,90,93,103,108,111,123,125,126,127,131,138,140,164,251,267,298,299,330,363],istart:[42,110,141],istep:299,istitl:321,isub:116,isupp:321,itch:[61,63],item:[20,43,47,51,59,63,68,69,82,85,86,116,117,138,165,179,182,188,206,219,226,235,286,316,344],item_consum:219,item_func:219,item_kwarg:219,item_selfonli:219,item_us:219,itemcoordin:235,itemfunc:219,itemfunc_add_condit:219,itemfunc_attack:219,itemfunc_cure_condit:219,itemfunc_h:219,itend:344,iter:[11,49,51,59,97,112,119,138,144,206,235,247,252,259,296,298,316,318,319,321,322,325,329,344],iter_cal:329,iter_to_str:344,itl:[22,180],its:[0,2,3,5,9,11,12,14,15,16,20,21,22,23,25,27,29,31,33,37,38,39,40,41,42,43,44,49,50,51,52,55,56,57,58,60,61,62,63,64,65,68,69,70,72,73,75,80,81,82,83,84,85,86,88,89,90,91,93,94,95,96,98,100,101,102,103,104,105,109,111,114,115,117,118,119,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,144,146,148,150,151,152,153,154,157,159,167,170,175,176,179,180,188,189,195,203,205,206,213,215,217,218,219,220,221,226,231,232,234,235,246,247,252,260,261,267,272,276,280,293,294,295,296,299,307,308,312,313,316,317,318,319,322,327,328,330,334,337,338,339,340,341,344,347,357],itself:[0,4,9,11,15,17,20,21,22,23,25,27,29,33,36,37,40,41,44,45,46,47,49,51,55,60,63,64,68,75,77,78,80,82,85,86,89,96,104,105,106,111,114,115,116,118,119,122,123,125,127,131,133,134,135,136,144,146,166,175,180,185,188,198,204,206,215,220,223,232,233,235,236,241,247,249,250,252,260,267,291,296,308,312,316,319,321,324,326,328,339,341,344,357],iusernamepassword:287,iwar:85,iweb:90,iwebsocketclientchannelfactori:278,iwth:261,jack:87,jail:[12,13],jamochamud:24,jan:[12,62],januari:62,jarin:90,javascript:[55,83,88,103,135,136,137,138,295,296],jenkin:[123,182,188,190,215,217,218,219,220,221],jet:220,jetbrain:[79,106],jnwidufhjw4545_oifej:9,job:[33,41,67,69,80,144],jobfusc:205,john:[58,214],johnni:[209,210],johnsson:87,join:[9,22,34,43,49,58,61,63,65,72,96,112,116,119,123,133,144,164,175,179,205,321,344],join_fight:[217,218,219,220,221],join_rangefield:221,joiner:175,jointli:[64,153],joke:59,joker_kei:[22,180],journal:[61,111],jpg:122,jqueri:138,json:[83,88,137,138,209,278,291,295,296,325],jsondata:88,jsonencod:296,jsonifi:296,jtext:321,judgement:73,jump:[13,14,21,41,44,49,51,52,55,61,63,77,89,108,131,139,215,265],junk:276,just:[0,1,3,4,5,6,9,10,11,12,13,14,15,17,19,20,21,22,23,25,26,27,28,29,30,31,33,34,37,38,39,40,41,42,43,44,46,47,48,49,51,52,54,56,57,58,59,60,61,62,63,64,68,69,70,73,74,76,77,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,144,152,153,154,157,159,164,167,168,169,170,175,179,180,182,185,187,192,194,195,205,206,214,215,217,218,219,220,221,226,231,233,235,242,247,252,257,272,285,295,305,312,316,317,318,321,325,326,328,330,339,340,344,345],justif:[329,344],justifi:[96,109,321,329,344],justifii:329,justify_kwarg:329,kcachegrind:93,keen:37,keep:[0,1,4,7,9,11,13,14,15,16,20,25,26,29,30,33,34,42,45,48,51,56,57,58,60,61,62,63,64,68,69,73,75,76,77,78,81,82,85,91,92,95,96,97,100,105,109,116,118,121,122,126,128,131,132,133,134,138,146,153,187,190,195,204,209,226,232,233,251,252,269,310,328,330,344],keep_log:[34,175,324],keepal:[105,290,296],keeper:85,keepint:64,kei:[0,1,5,8,9,10,11,13,21,25,26,27,28,29,30,31,33,34,38,39,41,42,43,44,49,50,52,56,57,58,60,62,69,71,74,80,81,82,84,85,86,88,89,91,94,95,96,97,102,107,111,112,114,115,116,119,120,121,123,125,127,129,131,133,137,138,144,146,148,150,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,175,176,179,180,181,182,184,185,186,187,188,189,193,194,199,202,203,205,206,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,235,239,241,246,247,250,251,252,256,257,258,259,260,261,265,267,272,273,274,276,285,288,291,292,294,295,296,299,306,307,308,310,316,317,318,319,323,324,326,327,328,329,337,338,339,341,344,357],kept:[33,43,57,80,91,119,127,159,194,195,252,316],kept_opt:215,key1:202,key2:[51,202,247],key_mergetyp:[31,152,226],keyboard:138,keydown:137,keyerror:[251,261,339,344],keyfil:[288,292],keynam:[175,250,252,324],keypair:287,keys_go_back:[22,180],keystr:319,keystrok:287,keywod:330,keyword:[0,1,5,10,11,22,25,27,29,30,33,34,43,50,51,52,58,62,74,80,81,83,86,91,93,95,102,107,109,114,115,119,123,125,127,134,144,146,150,154,159,165,175,182,184,187,192,194,195,198,205,206,210,217,218,219,220,221,233,234,242,247,251,252,257,260,261,265,267,272,276,278,279,285,286,287,290,295,296,306,307,308,310,316,317,318,324,327,328,329,330,334,338,340,341,344],keyword_ev:198,kick:[12,31,43,51,58,90,146,152,157,164,171,186,329],kildclient:24,kill:[20,27,43,51,61,75,93,100,102,105,116,179,231,232,257,261,267,305,312],killsign:267,kilogram:82,kind:[0,11,37,38,40,80,91,97,104,116,118,119,121,133,138,217,218,219,220,242,318,345],kinda:138,kindli:126,kintmvlhf6m:133,kitchen:[43,44,159],knew:95,knock:51,knot:182,know:[0,2,5,6,8,10,11,13,14,15,16,20,21,22,23,26,29,31,33,37,38,39,40,41,42,43,44,48,49,51,54,56,57,58,60,61,64,67,69,70,72,73,74,79,80,81,82,83,84,85,86,89,90,91,93,95,96,97,98,100,102,104,105,110,111,113,114,116,117,118,119,121,125,126,127,128,131,132,133,134,136,138,139,154,158,159,167,170,179,194,199,205,215,220,226,232,246,247,272,306,308,316,322,323,328,344,363],knowledg:[13,15,33,55,77,289,308],known:[7,20,24,33,50,73,79,80,87,92,96,109,114,115,125,134,137,143,168,220,329],knuth:93,kobold:61,koster:79,kovash:51,kwar:318,kwarg:[1,10,25,29,33,40,41,51,58,59,74,80,81,83,84,88,96,107,109,114,115,118,121,125,132,134,137,144,146,147,148,150,153,154,156,157,158,159,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,184,185,186,187,188,189,192,193,194,195,199,202,203,204,205,206,210,212,213,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,238,239,241,242,245,246,247,249,250,251,252,255,256,257,259,260,261,264,265,272,273,274,276,277,278,279,284,285,286,287,288,290,291,292,295,296,300,306,307,308,309,310,312,316,317,318,319,321,324,326,327,328,329,330,331,333,334,337,338,339,340,341,342,344,345,357],kwargtyp:344,l82:135,l93:96,label:[48,70,86,112,133,140,357],label_suffix:357,laborum:52,lack:[13,38,56,61,70,129,206,226,247,316,344],ladder:58,lag:[49,63],lai:[1,48],lair:14,lambda:[10,39,51,69,109,195,252,344],lamp:[111,226],lamp_breaks_msg:226,land:[91,116,231,232],landscap:[103,111],lang:205,langcod:206,langnam:206,languag:[7,15,38,40,47,55,56,57,58,64,79,91,95,103,108,113,114,118,124,125,127,129,130,137,139,205,206],language_cod:76,languageerror:[205,206],languageexistserror:205,languagehandl:205,larg:[10,11,13,14,16,20,23,37,51,55,56,61,86,90,96,97,108,109,122,127,205,226,235,251,285,322,327,334],larger:[14,20,49,57,61,68,80,82,86,108,187,247,293,321,334,344,347],largesword:86,laser:77,last:[4,11,13,14,22,26,29,31,33,34,36,42,43,48,51,54,58,60,69,74,76,86,87,89,90,91,95,96,105,107,110,116,121,122,126,127,131,134,136,137,150,151,153,159,164,165,179,184,187,195,206,215,217,218,219,220,221,247,271,321,322,323,328,329,330,331,337,344],last_cmd:33,last_initial_setup_step:305,last_step:271,lastcast:28,lastli:[81,83,111,133,150],lastsit:25,late:[251,323],later:[0,2,9,11,12,13,22,23,33,34,38,40,43,46,55,58,60,61,63,64,69,73,74,76,81,83,84,86,90,95,97,109,111,114,115,117,120,121,123,125,131,133,138,139,140,152,156,157,159,167,175,184,203,206,252,261,287,319,344],latest:[20,21,27,31,36,38,43,58,63,64,75,83,98,131,159,164,169,247,252,286,310,328,337,363],latin:[15,113,247,344],latin_nam:247,latinifi:[247,344],latter:[6,27,29,34,64,77,80,89,91,95,115,126,206,256,258,319],launch:[14,21,54,63,75,85,90,93,102,106,110,122,127,138,153,226,266,267,277,279,298,326,344],launcher:[93,106,266,267,276,277,298],law:79,layer:[22,31,246,318],layout:[27,49,56,58,92,96,119,125,128,137,138,235],lazi:344,lazy_properti:344,lazyencod:296,lazyset:337,lc_messag:76,lcnorth:114,ldesc:56,ldflag:75,lead:[0,11,13,17,20,22,23,31,37,43,49,51,56,60,61,64,69,79,83,86,102,103,111,121,144,151,152,159,169,195,198,204,212,247,252,306,316,318,328,330,344],leak:135,lean:206,leap:[62,118],learn:[0,15,16,17,20,22,29,31,33,42,46,49,56,57,60,63,68,69,79,80,81,95,96,106,108,118,122,124,126,127,131,134,136,139,205,220,364],learnspel:220,least:[3,8,33,39,42,47,49,51,55,57,58,61,67,73,80,86,90,96,102,106,121,138,144,153,176,179,205,238,247,252,259,321,327,330,341,344],leasur:231,leather:85,leav:[0,2,20,21,22,25,43,58,60,73,74,77,85,93,95,102,103,116,123,137,138,156,158,159,175,179,180,233,235,247,260,295,296,328,334],leaver:175,left:[22,27,33,36,39,41,43,57,69,74,80,85,86,91,101,102,109,111,114,137,138,144,159,165,167,190,217,218,219,220,221,226,232,235,242,252,318,321,330,344,363],left_justifi:109,leg:304,legaci:[88,109,144,206],legal:[90,103],legend:[49,50],leisur:345,len:[25,49,58,71,85,109,114,116,119,120,121,151,168,184,344],lend:50,length:[22,23,25,49,62,66,68,71,83,86,90,91,95,122,151,184,188,190,198,205,206,269,310,316,321,330,344],lengthi:[1,25],lengthier:363,lenient:109,less:[22,34,44,51,56,61,64,73,86,90,91,106,108,116,119,132,133,139,184,218,220,316],let:[0,3,5,7,8,9,11,12,14,15,20,21,22,25,28,31,33,37,39,40,41,43,44,46,48,49,51,56,57,58,60,61,62,63,64,65,70,72,73,74,75,77,80,81,82,83,85,89,91,93,95,96,98,103,106,111,114,115,117,118,119,121,123,124,126,127,131,133,134,136,137,140,144,153,154,159,165,170,179,182,185,188,190,215,235,242,247,277,296,308,324,328,338,343,357,363],letsencrypt:[67,90],letter:[15,22,39,43,76,90,95,111,113,114,119,123,133,156,165,180,204,205,311,321,344],leve:251,level:[2,11,13,19,20,22,26,27,30,36,38,40,41,43,47,50,51,55,57,58,61,66,69,71,73,79,80,85,90,95,96,104,105,108,111,112,119,122,125,130,133,138,139,140,144,156,161,162,169,175,180,181,184,199,205,215,226,241,247,252,269,306,316,318,324,326,331,344],lever:[33,125],leverag:[3,38],levi:86,lh3:133,lh6:133,lhs:[25,58,167],lhslist:167,lib:[63,67,75,97],libapache2:8,libcrypt:75,libjpeg:75,librari:[6,11,13,26,45,53,56,57,63,64,75,76,78,79,91,95,100,103,108,109,125,127,128,133,136,137,138,178,204,234,251,252,280,316,318,330,344],licenc:321,licens:[37,45,79,106,139,204,321,364],lid:226,lidclosedcmdset:226,lidopencmdset:226,lie:111,lies:[33,131],life:[11,37,62,87,95,126,184,231],lift:[20,73,80,96,123,221,242],lifter:80,light:[14,23,27,38,61,102,108,122,153,218,232,233,252,260,321],lightabl:232,lighter:[114,218],lightest:27,lightli:[16,218],lightsail:90,lightsourc:232,lightsource_cmdset:232,like:[0,2,3,5,6,8,9,10,11,12,14,15,16,17,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,51,52,53,54,55,57,58,59,60,61,62,63,64,65,67,68,69,70,71,72,73,74,75,76,77,79,80,81,83,84,85,86,88,89,90,91,93,95,96,97,100,102,103,104,105,106,107,108,109,111,112,114,115,116,117,118,119,120,121,125,126,127,128,129,131,132,133,134,135,136,137,138,139,140,144,146,148,149,151,152,153,156,158,159,164,167,170,171,172,175,176,179,180,182,186,187,188,189,190,198,204,205,206,212,213,215,217,218,219,220,221,226,233,234,235,239,241,242,246,247,251,252,272,280,296,301,305,307,308,316,317,318,321,322,324,327,328,329,330,331,334,338,340,341,344,357,364],limbo:[0,9,13,14,20,22,27,43,59,63,66,104,111,121,122,134,159,180,233,271],limbo_exit:111,limit:[0,2,6,11,16,19,20,25,26,27,28,31,33,34,37,43,46,51,53,55,58,61,64,68,71,80,86,90,91,95,102,104,109,112,116,123,125,126,127,138,140,144,156,157,158,159,175,176,182,195,206,215,217,219,220,226,238,239,242,247,252,256,261,272,285,310,316,317,318,319,322,324,326,337,341,344],limit_valu:144,limitedsizeordereddict:344,line:[0,4,5,9,10,13,14,15,19,22,23,25,26,27,29,30,31,33,34,36,38,39,41,43,45,46,48,51,53,54,56,57,58,59,60,61,62,63,67,69,74,76,81,83,86,87,89,90,91,92,93,95,96,97,98,100,104,108,109,110,111,114,119,121,123,125,127,128,133,134,137,138,139,141,144,150,153,159,164,166,168,169,180,185,186,188,202,205,206,215,226,234,235,251,267,272,287,290,295,306,318,322,326,327,328,329,330,337,344,357],linear:49,linebreak:[69,343],lineeditor:326,lineend:343,lineno:38,linenum:326,liner:279,linereceiv:[287,290],linesend:296,lingo:[57,86,105,135],linguist:344,link:[2,3,4,9,14,17,18,20,22,25,29,31,33,37,39,40,46,48,49,51,54,55,57,63,64,69,70,72,85,89,90,96,98,105,111,119,121,123,124,128,131,133,134,139,144,148,159,164,192,234,242,247,256,265,267,278,282,287,290,318,343,344,364],linknam:54,linkref:38,linktext:38,linod:90,linux:[4,8,9,23,25,38,64,67,72,75,87,90,93,97,100,106,131,209,344],linuxtopia:57,liquid:318,list:[0,1,2,3,4,6,7,11,12,13,14,15,20,22,23,25,27,31,33,34,37,39,40,41,43,45,46,48,49,51,54,55,57,58,59,60,61,63,66,68,69,70,72,73,74,76,77,79,80,82,85,86,88,89,90,91,93,94,95,96,97,98,102,103,105,106,109,110,111,112,113,114,116,118,119,121,123,124,125,128,129,131,133,134,135,137,138,139,144,146,148,151,152,153,154,156,157,158,159,164,165,166,167,169,170,175,176,177,179,180,181,182,183,187,188,189,190,192,193,195,196,198,199,202,203,204,205,206,209,210,215,217,218,219,220,221,226,230,231,232,235,238,242,246,247,251,252,257,258,259,261,265,267,272,273,277,279,281,283,285,286,291,296,299,308,310,312,316,317,318,319,321,322,323,324,325,328,330,337,338,341,344,350,363],list_attribut:159,list_callback:193,list_channel:164,list_nod:328,list_of_all_rose_attribut:11,list_of_all_rose_ndb_attr:11,list_of_lycanthrop:119,list_of_myscript:102,list_prototyp:251,list_set:267,list_styl:156,list_task:193,list_to_str:344,listabl:[43,159],listcmdset:[43,159],listcmset:[43,159],listen:[2,12,34,41,43,67,80,103,105,124,137,139,164,175,205,206,226,364],listing_contact:54,listnod:328,listobj:[43,169],listobject:[43,169],listscript:[43,169],lit:[232,233],liter:[13,20,38,43,57,66,94,109,165,321,340,344],literal_ev:[51,328,344],littl:[0,4,9,10,15,20,21,25,28,33,34,38,41,42,57,58,60,64,69,70,71,85,90,91,96,100,102,109,110,111,117,118,119,125,131,134,136,138,139,218,230,233,302,316,328,344,357],live:[8,23,38,60,63,67,70,79,90,100,106],ljust:321,lne:215,load:[6,11,12,13,15,26,29,31,33,43,44,50,51,56,57,58,60,61,69,73,82,83,97,103,106,109,111,121,123,127,136,137,138,148,153,165,166,169,177,187,195,205,239,242,246,247,256,260,271,274,276,307,316,318,319,322,323,326,335,338,339,342,344,355],load_buff:326,load_data:323,load_kwarg:339,load_module_prototyp:251,load_sync_data:307,loader:[51,318,344],loadfunc:[50,326,339],loc:[43,159],local0:67,local:[23,25,36,37,47,59,62,64,67,72,76,97,100,103,106,114,131,133,138,192,195,206,252,290,316],localecho:90,localevenniatest:342,localhost:[3,4,9,23,24,63,67,69,75,90,95,133,134,135,137,296],localstorag:138,locat:[0,2,4,6,8,9,11,12,13,20,21,25,27,30,31,33,35,38,39,43,46,47,48,49,51,57,58,59,63,64,66,73,74,77,80,85,89,90,91,96,100,102,103,109,111,112,114,117,118,119,121,122,123,125,127,128,131,133,135,136,137,140,144,150,159,165,169,175,176,180,181,182,187,203,206,212,231,233,235,241,246,247,252,296,305,316,317,318,319,322,324,328,330,337,341,347],location_nam:235,location_set:119,locations_set:[119,246],locattr:[232,241],lock:[4,6,10,12,19,20,21,22,23,25,28,29,31,33,34,39,41,44,45,47,48,53,58,60,62,68,71,82,85,89,90,96,104,109,110,112,123,125,133,138,139,141,142,144,154,156,157,158,159,164,165,166,168,169,170,171,175,177,179,180,181,182,185,186,187,189,192,193,195,196,199,202,203,206,212,214,226,231,232,233,235,239,246,247,251,252,312,316,318,324,326,328,338,345,364],lock_definit:242,lock_func_modul:[80,242],lock_storag:[154,156,157,158,159,164,165,166,167,168,169,170,171,177,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,247,316,318,326,328,329],lockabl:[58,212],lockablethreadpool:312,lockdown:[80,316],lockdown_mod:90,lockexcept:242,lockfunc1:80,lockfunc2:80,lockfunc:[25,33,43,53,80,104,121,141,142,159,164,240],lockhandl:[11,48,80,125,141,142,154,180,234,240,241],lockset:247,lockstr:[4,11,33,43,80,97,109,159,164,166,175,177,212,242,247,252,316,324],locktest:136,locktyp:[152,164,252],log:[2,4,5,6,8,10,11,12,20,21,23,24,25,33,34,35,36,39,43,44,45,47,51,53,55,57,58,59,60,63,64,65,66,67,71,72,73,74,75,76,83,86,89,90,93,94,100,101,102,105,106,107,110,111,114,121,122,123,128,130,131,133,134,135,137,138,144,153,157,171,175,181,186,188,209,210,247,256,260,267,272,276,277,281,284,285,287,290,298,299,300,306,308,310,312,318,324,337,344,364],log_dep:[27,337],log_depmsg:337,log_dir:[175,209,337],log_err:[27,337],log_errmsg:337,log_fil:[27,175,337],log_file_exist:337,log_info:[27,337],log_infomsg:337,log_msg:337,log_sec:337,log_secmsg:337,log_serv:337,log_trac:[27,102,118,120,337],log_tracemsg:337,log_typ:337,log_typemsg:337,log_warn:[27,337],log_warnmsg:337,logdir:36,logentry_set:148,logfil:[267,337],logged_in:105,loggedin:285,logger:[27,53,102,118,120,141,142,209,279,320],logic:[0,4,10,39,41,42,44,49,69,97,111,134,205,246,250,271,316,328,345],login:[2,4,7,9,25,33,35,43,51,55,69,70,80,90,97,101,105,107,131,133,139,144,156,171,186,242,271,272,287,290,295,296,299,308,344,349,351,360,364],login_func:299,logintest:360,logout:[298,299,360],logout_func:299,logouttest:360,logprefix:[277,287,290,312],lone:[43,61,111,159,166],long_descript:54,long_running_funct:10,long_text:52,longer:[0,21,25,29,33,41,43,50,52,54,58,69,79,86,91,102,115,124,125,126,129,152,157,175,182,205,206,213,217,218,219,220,221,257,260,326,330],longest:[27,206],longrun:33,loo:[154,170],look:[0,3,4,6,9,10,11,12,13,14,15,16,17,19,20,21,22,23,25,26,27,29,30,31,33,35,36,37,38,39,40,41,42,44,46,48,49,51,55,57,58,60,61,62,63,64,67,68,69,70,71,73,74,75,76,77,80,81,82,83,85,86,87,88,89,90,91,94,96,97,100,103,105,108,109,110,111,112,114,116,117,118,119,121,122,124,125,126,127,131,133,134,135,136,138,139,144,146,151,153,154,156,159,165,167,170,171,181,182,186,187,188,194,202,203,205,206,215,219,226,230,232,233,235,238,241,242,246,247,249,252,272,287,288,295,299,316,318,322,328,329,330,338,341,343,344,357,364],look_str:144,lookaccount:58,lookat:33,looker:[49,58,60,123,144,182,187,206,235,247,318],lookm:33,lookstr:247,lookup:[11,33,43,80,86,97,112,119,150,165,209,246,286,319,321,333,334,340,341,344,345],lookup_typ:340,lookup_usernam:51,lookuperror:321,loom:111,loop:[0,5,6,11,21,46,49,55,60,64,69,85,93,96,116,118,119,124,125,141,146,217,252,285],loopingcal:270,loos:[14,37,144,164,182,221,238,287,298,322],loot:61,lop:119,lore:[58,166],lose:[11,56,61,100,105,110,116,123,138,209,219,278,279,287,290],lost:[0,38,39,43,56,79,91,110,111,125,135,139,164,213,264,277,278,279,287,290,295,316,321],lot:[0,4,10,13,15,22,26,27,28,34,37,39,41,42,46,53,55,57,58,59,61,62,63,67,69,70,73,79,80,86,90,91,93,95,96,108,109,111,112,114,119,121,123,125,127,131,133,135,138,180,184,186,188,206,214,218,232,235,312],loud:21,love:137,low:[31,40,46,66,90,95,152],lower:[2,10,19,25,29,31,33,41,43,49,51,58,62,80,85,86,90,93,114,122,137,151,152,156,167,169,206,272,321],lower_channelkei:41,lowercas:[95,154,321],lowest:[66,90,241,321],lpmud:129,lpthw:77,lsarmedpuzzl:203,lspuzzlerecip:203,lst:[49,324],lstart:50,lstrip:[91,119,321],ltto:114,luc:327,luciano:79,luck:[8,51,91,96],luckili:[60,80,111,127,131],lue:[114,321],lug:55,lunch:46,luxuri:[112,314],lycanthrop:119,lying:111,m2m:319,m2m_chang:107,m_len:344,mac:[9,23,24,38,64,93,100,106,131,344],machin:[13,25,100,106,131,231],macport:[63,131],macro:[4,116],macrosconfig:4,mad:131,made:[3,11,19,20,21,25,26,35,36,38,43,51,56,58,59,61,79,80,90,96,98,103,104,109,111,121,123,131,134,150,152,169,175,179,182,188,215,219,220,221,242,260,269,313,321,322,326,328,344],mag:[60,127,327],magazin:79,mage:[51,70],mage_guild_block:51,mage_guild_welcom:51,magenta:126,magic:[30,60,61,80,112,121,122,140,179,190,220,269],magic_meadow:112,magicalforest:140,magnific:51,mai:[0,4,6,8,9,10,11,13,19,20,21,23,25,27,28,29,31,33,34,37,38,40,41,42,43,48,51,54,56,57,60,62,63,64,66,67,69,70,71,73,75,77,79,80,81,83,84,86,87,88,89,90,93,94,95,96,97,100,102,103,104,105,106,108,109,110,111,114,115,116,118,119,120,123,125,127,128,130,131,133,134,135,136,144,146,150,151,152,154,156,157,159,164,166,169,170,175,176,178,179,181,182,184,188,190,205,206,217,218,219,220,221,232,233,242,247,251,252,253,269,299,306,308,309,313,316,318,319,321,323,324,325,326,328,330,331,338,341,344,347],mail:[9,34,37,51,55,57,60,61,70,79,93,116,128,141,142,176,177,178,363],mailbox:[34,199],main:[13,14,15,20,21,22,30,31,33,34,37,40,43,49,51,54,56,64,68,69,76,79,80,81,83,84,85,86,89,90,91,92,100,104,105,109,110,112,115,116,119,122,124,125,131,133,134,135,137,138,139,144,148,150,156,159,164,166,170,175,177,180,188,195,199,205,206,235,239,246,252,256,267,271,272,274,279,284,286,291,305,307,312,318,319,328,329,332,341,343,344],mainli:[10,12,33,34,43,51,57,79,83,89,93,96,105,156,236,316,322,344],maintain:[4,19,23,37,41,43,53,56,68,90,93,100,108,115,119,169,171,186,261,363],mainten:[90,103],major:[14,15,23,45,57,60,63,64,119,121,133],make:[0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,19,22,23,24,25,26,28,29,30,31,33,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,55,56,59,61,62,63,64,68,70,71,72,73,74,75,77,78,79,80,81,83,85,86,87,89,90,91,93,94,95,96,97,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,122,124,125,126,128,130,132,133,134,136,137,138,139,140,144,146,148,151,152,153,154,156,157,159,164,167,170,176,179,180,182,187,188,190,196,199,205,206,211,212,213,215,217,218,219,220,223,226,231,232,233,238,241,242,247,251,252,258,261,267,271,279,284,298,299,305,306,308,309,311,312,316,317,318,319,321,322,323,324,325,326,328,330,331,334,341,343,344,360,363],make_it:344,make_shared_login:351,make_uniqu:152,makeconnect:276,makefactori:287,makefil:38,makeit:298,makemessag:76,makemigr:[36,86,133],male:189,malevol:14,malform:[170,345],malici:103,malign:242,man2x1:108,man:[43,87,90,108,129,165,199,206],mana:[28,30],manag:[2,7,9,11,31,39,40,43,53,56,57,59,80,83,85,86,89,93,96,100,102,105,110,115,119,125,127,128,131,133,138,141,142,143,144,148,164,169,170,172,175,177,202,206,221,233,236,239,243,246,247,251,253,256,261,262,267,274,314,316,318,319,320,323,324,332,335,337,341,344,360,364],manager_nam:316,manchest:344,mandat:357,mandatori:[0,22,107,109,129],maneuv:215,mangl:293,mango:203,manhol:[94,287],manhole_ssh:287,mani:[0,1,2,4,5,9,10,11,12,14,15,17,20,26,27,30,31,33,34,38,40,43,44,49,51,55,56,57,58,61,62,63,64,66,68,70,72,73,76,77,85,86,88,89,90,91,93,95,96,98,102,103,104,105,107,108,109,110,111,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,133,134,135,140,148,152,154,159,164,170,177,179,182,186,188,206,213,214,215,219,220,231,234,239,242,246,252,256,261,267,281,289,291,310,316,318,319,321,328,329,334,335,337],manifest:97,manipul:[0,11,22,31,41,43,44,51,64,86,102,109,123,159,176,187,192,238,247,273,324,329],manner:[14,206,235,247,285,318],manpow:37,manual:[4,6,14,20,21,23,30,33,34,38,40,55,58,60,61,63,68,79,80,85,86,89,90,97,102,109,110,111,114,117,119,121,122,124,125,128,131,134,139,140,141,146,159,215,226,230,234,247,252,259,267,284,291,328,329,363,364],manual_paus:259,manual_transl:205,manytomanydescriptor:[148,177,239,246,256,316,318,319],manytomanyfield:[148,177,239,246,256,316,318,319],map:[0,15,25,39,43,46,51,57,58,61,64,67,87,88,97,100,124,135,138,139,156,164,170,175,183,184,205,206,235,247,251,252,291,316,318,321,327,328,344,364],map_modul:111,map_str:[49,111,235],mapbuild:[141,142,178],mapper:334,mapprovid:235,march:[79,337],margin:17,mark:[13,14,20,21,33,38,43,49,51,58,63,72,76,80,90,95,114,119,131,135,137,138,140,151,158,187,195,204,215,308,316,318,322,327,328,340],mark_categori:215,markdown:[1,4,38,48,54],marker:[13,20,33,43,51,64,87,114,138,164,165,187,189,206,215,247,279,287,290,295,296,316,319,321,327,328,329,347],market:90,markup:[38,81,114,136,139,141,142,183,320,343],mask:[203,206,210,211],maskout_protodef:203,mass:[61,124,139,364],massiv:[28,55],mast:43,master:[3,7,9,37,38,41,43,46,57,61,63,70,73,95,96,98,100,104,116,118,127,134,135,313],match:[9,11,20,22,27,31,33,39,41,43,44,49,51,57,58,62,68,74,76,80,83,86,87,88,89,91,102,104,105,109,111,112,114,118,119,125,128,131,133,134,135,136,137,138,144,150,151,152,153,154,157,159,164,165,166,168,170,176,180,183,184,187,188,198,199,202,203,206,220,235,238,241,242,247,251,252,258,261,272,273,285,298,308,316,317,318,319,321,326,328,330,339,341,343,344,345,347],match_index:151,matched_charact:188,matcher:51,matches2:86,matchobject:[321,343],mate:64,math:39,mathemat:152,matplotlib:300,matrix:330,matt:102,matter:[0,4,9,11,25,31,36,41,51,57,61,62,63,69,73,76,84,91,95,103,105,107,108,116,117,127,136,152,221,231,246,272,316],matur:[108,128,129],maverick:64,max:[16,25,49,71,114,116,166,188,206,310,337,344],max_damag:219,max_dbref:317,max_depth:344,max_dist:49,max_heal:219,max_l:49,max_length:[49,86,133,206],max_lin:330,max_rmem:334,max_siz:337,max_valu:[190,357],max_w:49,max_width:49,maxconn:67,maxdelai:[264,278,279],maxdepth:252,maxdiff:[170,352],maximum:[16,39,71,86,91,111,114,144,188,190,217,218,219,220,221,247,252,312,321,328,330,344],maxlengthvalid:144,maxnum:344,maxrotatedfil:337,maxsplit:321,maxthread:312,maxval:344,maxwidth:330,may_use_red_door:109,mayb:[6,9,11,13,14,21,22,25,27,31,33,38,44,48,49,54,61,63,68,69,70,73,82,85,86,90,109,116,119,122,138,140,153,179,198,205,285],mccp:[24,55,74,141,142,262,272,275],mccp_compress:280,meadow:[22,112,140],mean:[0,5,10,11,12,13,14,15,20,22,23,27,28,31,33,34,37,40,41,42,43,46,49,51,55,57,58,60,61,62,64,68,73,74,77,78,80,81,83,84,85,86,87,88,90,93,95,96,97,100,102,103,104,105,110,111,112,113,114,116,117,119,121,122,123,125,126,127,128,131,134,135,136,138,144,146,153,159,185,195,205,232,234,241,247,251,252,257,261,267,291,307,316,318,321,328,330,334,337,340,341],meaning:[154,170],meaningless:123,meant:[16,20,22,31,34,44,54,62,68,76,83,96,102,125,126,137,138,140,152,180,189,206,214,217,218,219,220,221,233,235,247,272,322],meantim:1,meanwhil:96,measur:[90,93,123,151,168,344],meat:133,mech:[124,139,364],mechan:[27,28,33,39,50,51,55,58,61,67,69,73,91,102,109,116,122,123,125,126,139,144,146,150,187,206,220,240,252,261,267,271,277,285,296,307,318,326,329,332,339],mechcmdset:21,mechcommand:21,mechcommandset:21,meck:21,media:[16,295,312,340,357],median:49,mediat:73,medium:16,mediumbox:276,meet:[25,36,61,122,194,235,311],mele:221,mem:[43,169],member:[9,11,43,70,86,164,165,167,247,344],membership:[4,9,119],memori:[6,12,23,28,31,33,43,56,75,86,90,93,113,125,135,144,169,175,247,260,261,300,310,316,320,329,334,339,344],memoryerror:63,memoryusag:300,memplot:[141,142,262,297],meni:180,mental:126,mention:[6,9,10,11,13,14,15,21,29,33,40,41,49,56,57,61,63,70,74,80,90,102,108,113,115,126,127,153,186],menu:[11,25,31,43,45,46,47,53,54,55,63,65,69,105,106,109,110,123,128,138,139,141,142,159,180,188,214,215,230,248,252,265,267,320,338,364],menu_cmdset:328,menu_data:51,menu_edit:180,menu_login:[141,142,178],menu_modul:328,menu_module_path:328,menu_quit:180,menu_setattr:180,menu_start_nod:214,menu_templ:328,menuchoic:[51,328],menudata:[188,230,249,328],menudebug:[51,328],menufil:328,menunode_fieldfil:188,menunode_inspect_and_bui:85,menunode_shopfront:85,menunode_treeselect:215,menunodename1:51,menunodename2:51,menunodename3:51,menuopt:215,menutre:[51,328],merchant:46,mercuri:108,mere:[117,190],merg:[3,5,22,33,37,43,44,51,57,62,64,97,131,139,150,151,152,153,166,226,233,235,252,256,291,328],merge_prior:328,merger:[5,31,37,111,152,153],mergetyp:[31,51,116,152,226,233,326,328],mess:[11,19,27,38,90,93,131,138,215],messag:[5,6,8,10,13,15,20,21,22,27,28,29,33,34,40,41,43,44,45,46,50,51,52,53,55,58,59,60,61,62,63,64,65,70,71,73,74,76,80,81,82,85,89,90,91,92,95,96,101,102,103,104,105,110,111,113,116,118,119,123,124,127,128,131,132,137,138,139,140,144,146,150,153,154,157,159,164,165,166,170,172,175,176,177,179,180,182,188,189,193,195,199,203,204,206,210,217,218,219,220,221,223,226,228,230,231,232,233,234,247,267,269,276,278,279,285,286,287,290,291,293,295,304,306,308,310,312,324,326,328,329,337,341,344],message_rout:137,message_search:176,message_transform:175,messagepath:[139,364],messagewindow:137,meta:[104,125,318,334,357],metaclass:[86,96,125,154,318],metadata:[210,269],metavar:234,meteor:82,meter:190,method:[1,2,5,6,9,10,11,22,25,27,28,29,30,31,34,38,39,40,42,46,48,49,51,55,58,59,60,62,64,68,69,73,77,80,83,86,88,89,91,95,96,102,104,105,107,109,111,112,114,115,116,117,118,119,120,121,123,125,127,131,132,133,134,137,139,144,148,150,152,153,154,156,159,160,164,166,167,169,170,175,176,177,179,180,184,187,192,195,202,203,204,205,206,209,210,212,217,218,219,220,221,226,228,230,231,232,233,234,235,238,239,241,242,247,260,261,264,269,272,273,274,276,277,278,279,280,285,287,290,293,295,296,299,303,305,306,307,308,310,316,318,321,322,324,326,328,329,330,331,334,335,337,338,339,341,342,343,344],methodnam:[170,196,211,228,261,293,303,335,342,352,360],metric:[82,205],microsecond:11,microsoft:[63,111],mid:[29,108,121],middl:[29,33,49,90,218,321],middlewar:[141,142,346,348],midnight:[25,62],midst:122,midwai:114,mighht:91,might:[0,4,8,10,11,12,14,15,17,20,22,23,25,26,27,28,29,30,31,33,34,39,40,41,42,43,46,51,52,55,58,60,61,62,63,69,70,73,75,76,77,80,81,82,85,89,90,91,95,96,97,98,100,102,103,104,105,110,111,114,115,116,119,120,122,123,124,126,127,131,132,133,136,138,153,157,159,179,204,210,213,217,218,219,220,234,247,296,318,321,326,337,338,344,357,363],mighti:[29,111],migrat:[9,23,36,38,63,75,86,107,110,111,127,131,133,252],mike:[43,159],mileston:[94,139],million:[23,25,133],mime:324,mimic:[23,34,50,55,73,93,177,306,326],mimick:[50,64,73,138,298,326,329],mimim:319,min:[49,62,102,114,184,188,331],min_damag:219,min_dbref:317,min_heal:219,min_height:330,min_shortcut:[22,180],min_valu:357,min_width:330,mind:[10,12,13,14,37,41,45,51,54,55,56,57,60,61,122,126,134,138,179,190,195,204,269,344],mindex:151,mine:[46,103,138],mini:[55,111,124],miniatur:[61,122],minim:[61,103,105,116,138,205,252],minimalist:[33,58,108],minimum:[22,58,64,73,105,188,217,218,219,220,221,272,312,318,330,339,344],mininum:330,minlengthvalid:144,minor:[41,153,363],mint:[63,67,131],minthread:312,minu:[86,247,331],minut:[25,27,28,43,62,79,91,100,102,116,164,179,184,310,331,344],minval:344,mirc:279,mirror:[72,79,105],mis:57,misanthrop:119,misc:138,miscelan:320,miscellan:47,mislead:41,mismatch:[74,344],miss:[49,57,60,63,70,90,94,95,97,217,218,219,220,221,251,272],missil:[21,220],mission:[41,69],mistak:[38,60,363],misus:90,mit:[79,124,321],mitig:[57,103],mix:[11,30,33,34,51,53,114,126,133,144,179,206,247,251,252,311,319,322,330],mixin:[251,301],mixtur:81,mkdir:[9,36,63],mktime:62,mob0:56,mob:[14,43,55,56,61,80,105,122,141,142,153,159,178,229,233,252,322],mob_data:56,mob_db:56,mob_vnum_1:56,mobcmdset:231,mobdb:56,mobil:[14,71,109,122,138,231,241],moboff:231,mobon:231,mock:[127,170,260,342],mock_delai:170,mock_get_vers:352,mock_random:228,mock_repeat:170,mock_set:352,mock_tim:303,mockdeferlat:342,mockdelai:342,mocked_idmapp:303,mocked_o:303,mocked_open:303,mockup:138,mockval:342,mod:[8,103,251],mod_import:344,mod_import_from_path:344,mod_prototype_list:251,mod_proxy_http:8,mod_proxy_wstunnel:8,mod_sslj:8,mode:[2,8,31,41,42,43,50,51,67,69,74,79,93,100,103,106,116,117,123,133,135,138,141,158,169,181,199,226,231,247,267,272,277,284,295,296,305,322,326,328,337,344],mode_clos:296,mode_init:296,mode_input:296,mode_keepal:296,mode_rec:296,model:[9,11,34,41,45,59,64,69,73,80,87,96,104,112,115,119,125,132,135,136,139,141,142,143,144,172,175,176,236,243,247,253,257,261,262,273,314,316,317,319,320,325,332,333,335,340,341,344,357,364],model_inst:340,modelattributebackend:316,modelbackend:349,modelbas:334,modelclass:[11,112],modelform:357,modelnam:[175,239,318],moder:[4,39,179],modern:[10,11,15,30,79,103,108,111,126,138,280],modif:[0,8,25,33,37,46,83,91,100,123,131,138,313,357],modifi:[0,2,4,11,20,22,25,26,31,33,34,38,39,40,43,44,46,51,53,55,56,57,58,60,68,73,78,85,89,93,96,100,104,105,109,110,111,114,118,119,122,123,125,128,131,135,137,138,139,140,144,153,166,175,180,185,187,189,195,203,206,213,217,218,219,220,221,232,234,239,247,252,261,318,322,328,334,340,343,347,357],modified_text:114,modul:[3,5,6,11,13,15,20,21,26,27,29,31,33,35,37,38,40,43,45,47,50,51,55,56,57,58,59,60,62,65,68,74,75,80,81,82,83,85,89,93,96,97,98,102,103,104,105,107,108,110,111,114,117,119,121,122,123,124,125,127,135,138,139,150,151,153,154,159,161,162,163,166,168,170,179,180,181,182,183,184,185,186,187,188,190,192,193,194,196,204,205,206,211,212,213,215,217,218,219,220,221,226,231,232,233,234,241,242,246,247,250,251,252,257,259,260,261,264,266,267,271,272,276,284,286,287,290,291,294,296,298,299,300,305,307,308,309,316,318,319,320,321,322,323,324,325,326,327,328,329,331,342,344,364],modular:55,modulepath:276,moifi:187,mollit:52,moment:[21,31,46,57,76,85,91,96,115,135,139,144,256],monei:[9,61,70,86,90],monetari:[37,179],monitor:[53,84,88,93,139,257,272,291,334],monitor_handl:[84,141,257],monitorhandl:[45,74,139,141,142,253,364],mono:25,monster:[29,43,57,61,64,89,109,159,252],month:[37,62,67,90,184,331,337,344],monthli:62,montorhandl:84,moo:[55,57,79,108,129],mood:[46,122],moon:[25,61,62,82],moor:122,moral:97,more:[0,1,2,3,4,5,9,10,11,12,13,14,15,17,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,39,40,41,42,43,44,46,49,50,51,52,55,56,58,59,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,79,83,85,86,87,88,89,90,91,93,94,95,96,97,100,102,103,104,105,108,109,110,111,112,113,114,115,116,118,119,121,122,123,124,125,126,127,131,132,133,134,136,137,138,141,143,144,148,151,152,153,158,159,164,165,166,169,170,171,175,178,179,180,181,182,184,186,187,190,195,198,204,205,206,213,214,215,217,218,219,220,221,226,231,232,233,234,235,247,251,252,277,279,282,298,299,308,313,316,317,321,322,324,325,326,327,328,329,330,334,341,344,345,357],more_command:329,morennanoth:170,morennthird:170,moreov:[90,102],morn:[187,188],most:[0,4,6,8,9,10,11,13,17,22,23,25,27,30,31,33,35,37,38,39,40,41,42,43,46,47,48,49,51,56,57,58,59,60,61,62,63,64,69,73,74,77,80,82,83,86,88,89,90,91,93,95,96,97,100,103,104,105,107,108,111,113,114,115,116,117,119,121,123,125,126,128,129,133,137,138,140,144,148,152,153,156,159,167,170,177,180,190,205,206,213,217,218,219,220,221,239,242,246,247,251,252,256,260,290,295,305,316,317,318,319,328,329,334,335,344],mostli:[40,51,57,69,73,90,91,95,114,123,125,137,138,152,185,205,219,235,287],motiv:[13,14,37,55,61,70,89,278,279,285,286,287,290,295,296,307,308],mount:100,mountain:[108,111],mous:[114,137,328],move:[0,4,9,14,15,21,22,23,29,33,34,41,43,44,46,49,50,51,52,54,58,61,63,69,77,79,82,85,89,91,95,96,111,116,117,122,126,133,134,138,153,159,165,179,180,188,194,213,217,218,219,220,221,231,232,233,235,238,241,247,299,318,322,329],move_hook:247,move_obj:235,move_to:[0,85,89,121,213,247],movecommand:44,moved_obj:[233,235,247],moved_object:247,movement:[58,109,121,213,217,218,219,220,221,247],mover:221,mptt:4,mratio:[151,168],msdp:[55,83,272,291],msdp_list:272,msdp_report:272,msdp_send:272,msdp_unreport:272,msdp_var:291,msg:[0,2,5,10,11,13,22,25,27,28,29,30,33,38,40,41,42,44,46,50,51,52,53,56,58,59,60,62,71,73,80,82,84,85,86,88,89,91,95,96,105,111,112,114,116,118,119,121,123,127,129,137,138,141,144,146,154,156,160,164,170,175,176,177,189,199,210,226,234,242,247,278,279,306,322,324,326,328,329,337,344],msg_all:116,msg_all_sess:[33,154],msg_arriv:0,msg_channel:164,msg_content:[0,21,27,33,46,62,73,89,102,118,121,123,132,247],msg_help:166,msg_leav:0,msg_locat:247,msg_other:179,msg_receiv:247,msg_self:247,msg_set:319,msglauncher2port:[267,276],msgmanag:[176,177],msgobj:[34,175],msgportal2serv:276,msgserver2port:276,msgstatu:[267,276],mssp:[55,104,141,142,262,275],mt1mywxzzsy5pxri:79,mt1mywxzzsy5pxrydwummte9mtk1jjeypxrydwubb:57,mtt:294,much:[0,4,10,11,13,14,15,20,22,23,25,26,29,37,38,39,41,42,49,51,56,59,61,62,63,64,67,69,73,76,79,80,82,89,90,91,93,94,96,109,111,113,115,116,119,120,121,125,127,132,133,134,138,148,153,158,167,180,184,185,205,206,215,221,226,232,307,316,321,322,323,330,344,347],muck:57,mud:[8,15,21,22,23,24,30,40,43,49,55,56,60,61,63,64,72,73,74,80,87,88,90,91,92,95,97,98,100,101,104,105,108,110,111,114,115,116,117,122,124,126,128,132,135,137,138,140,148,153,156,221,230,264,280,281,282,287,290,291,294,322,331],mudbyt:79,mudconnector:79,mudderi:79,muddev:63,mudform:327,mudinfo:34,mudlab:79,mudlet:[24,96,101,272,282],mudmast:24,mudramm:24,muhammad:343,mukluk:24,mult:109,multi:[10,22,31,38,43,51,55,61,95,96,100,104,105,119,122,123,151,169,206,215,247,308,328,344],multiaccount_mod:97,multidesc:[141,142,178],multilin:343,multimatch:[31,151,206,247,344],multimatch_str:[144,206,247,344],multimedia:137,multipl:[6,12,14,22,23,27,30,31,33,40,43,51,55,58,61,62,64,73,79,84,88,89,90,95,96,104,105,107,108,109,114,115,122,123,125,131,138,144,150,152,157,158,159,164,166,168,169,170,183,185,186,187,189,190,196,202,206,215,217,218,219,220,233,242,247,251,252,261,265,269,272,276,291,299,316,317,322,328,330,341,344],multiplay:[55,57,79],multipleobjectsreturn:[144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,319,331,335],multisess:[2,41,69,328],multisession_mod:[24,33,64,105,123,133,144,156,160,181,189,247,308],multisession_modd:51,multitud:[57,111,114],multumatch:247,mundan:21,murri:344,mus3d1rmfizcy9osxiiita:122,muse:79,mush:[9,36,55,60,73,79,108,116,124,139,183,202,364],mushclient:[24,74,96,272,282],musher:79,mushman:108,musoapbox:[57,79],must:[0,1,2,4,5,8,10,11,15,24,25,29,31,33,37,38,40,43,48,49,50,51,56,58,61,62,63,64,65,67,71,72,74,76,80,81,83,84,85,87,89,90,93,95,96,97,100,103,104,109,110,112,113,114,115,116,117,119,123,125,127,128,131,133,135,136,137,140,146,151,152,154,159,164,170,175,176,179,182,183,184,186,203,205,206,210,215,217,218,219,220,221,226,230,232,233,239,241,247,250,251,257,261,267,272,285,287,290,307,309,310,316,317,318,321,322,323,324,325,326,327,328,329,331,338,339,340,341,343,344,345],must_be_default:153,mutabl:325,mute:[17,41,144,164,175],mute_channel:164,mutelist:[41,175],mutltidesc:202,mutual:[226,317],mux2:129,mux:[20,21,33,34,41,45,55,58,103,108,139,149,167,183,364],mux_color_ansi_extra_map:183,mux_color_xterm256_extra_bg:183,mux_color_xterm256_extra_fg:183,mux_color_xterm256_extra_gbg:183,mux_color_xterm256_extra_gfg:183,muxaccountcommand:[167,199],muxaccountlookcommand:156,muxcommand:[5,25,28,29,30,33,44,53,58,119,123,141,142,149,155,156,157,158,159,164,165,166,168,169,171,182,185,186,187,193,199,202,203,212,214,219,220,233,247,326],mvattr:159,mxp:[24,55,74,114,141,142,262,272,275,287,290,321,328,343,344],mxp_pars:282,mxp_re:321,mxp_sub:321,my_callback:309,my_datastor:86,my_funct:29,my_github_password:131,my_github_usernam:131,my_identsystem:87,my_number_handl:51,my_object:29,my_port:40,my_portal_plugin:40,my_script:102,my_server_plugin:40,my_servic:40,my_word_fil:205,myaccount:112,myapp:86,myarx:9,myattr:[11,144],myawesomegam:67,mybot:[43,164],mycallable1:51,mycar2:87,mychair:112,mychan:34,mychannel1:164,mychannel2:164,mychannel:[12,43,164],mycharact:81,mychargen:51,myclass:60,mycmd:[33,68],mycmdset:[5,31,33],mycommand1:31,mycommand2:31,mycommand3:31,mycommand:[30,31,33,83,170],mycommandtest:170,mycompon:137,myconf:36,mycontrib:127,mycss:137,mycssdiv:137,mycustom_protocol:40,mycustomcli:40,mycustomview:135,mydatastor:86,mydhaccount:100,mydhaccountt:100,mydhacct:100,myevennia:72,myevilcmdset:[31,152],myevmenu:51,myfix:131,myfunc:[10,115,127,344],myfunct:51,mygam:[2,3,5,6,9,13,14,21,23,25,26,27,30,31,35,40,42,44,47,49,51,53,54,56,57,58,60,62,63,65,67,69,71,73,74,75,76,80,81,82,85,86,89,90,93,95,96,100,102,104,106,109,110,111,114,116,118,119,120,121,123,125,127,128,131,133,134,135,136,137,180,181,183,187,199,202,212,213,292,342,344],mygamedir:38,mygamegam:81,myglobaleconomi:102,mygotocal:51,mygrapevin:164,myhandl:107,myhdaccount:100,myhousetypeclass:[43,159],myinstanc:86,myircchan:[43,164],mykwarg:51,mylayout:137,mylink:38,mylist2:11,mylist:[6,11,97,318],mylog:27,mymenu:51,mymethod:56,mymodul:115,mymud:[8,106],mymudgam:90,mynam:100,mynestedlist:325,mynod:51,mynoinputcommand:33,mynpc:123,myobj1:112,myobj2:112,myobj:[11,27,80,102,261],myobject:[5,11],myobjectcommand:25,myothercmdset:31,myownfactori:40,myownprototyp:109,mypassw:186,mypath:127,myplugin:137,myproc:40,myproc_en:40,myprotfunc:109,myroom:[43,56,102,112,159],myros:89,myscript:[102,112,125],myscriptpath:102,myserv:186,myservic:40,mysess:105,mysql:[36,55,64,128,344],mysqlclient:23,mysteri:[75,87],mytag1:137,mytag2:137,mythic:122,mytick:261,mytickerhandl:261,mytickerpool:261,mytop:20,mytup1:11,mytup:11,myvar:33,myview:135,naccount:308,naiv:[175,235,239,318],nake:33,name1:[43,159],name2:[43,159],name:[0,2,3,4,5,6,9,10,11,13,14,15,19,20,22,23,24,25,29,31,33,34,36,38,40,41,42,44,46,47,49,51,52,53,54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,71,72,73,74,75,76,79,80,81,82,83,84,85,86,87,89,90,91,93,95,96,100,102,103,104,105,106,107,109,110,111,112,113,114,116,117,119,121,123,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,144,146,148,150,151,152,153,154,156,157,159,164,165,166,167,168,169,170,171,175,176,177,180,181,182,184,186,188,192,194,195,198,203,204,205,206,212,215,219,220,231,233,234,235,238,239,246,247,251,252,256,257,259,261,267,270,272,273,274,276,277,279,284,287,290,291,294,295,296,299,308,310,312,316,317,318,319,321,322,323,324,326,327,328,329,334,335,337,338,340,341,343,344,345,349,357],namecolor:215,namedtupl:192,nameerror:[42,95],namelist:199,namesak:97,namespac:[69,125,137,195,234,252,310,322],napoleon:38,narg:[114,234],narr:221,narrow:91,nativ:[34,38,42,51,88,102,209,310,312],nattempt:51,nattribut:[11,43,51,116,125,159,252,306,316,318,324,328],nattributehandl:316,natur:[11,15,27,55,79,88,112,146,330],natural_height:330,natural_kei:316,natural_width:330,navig:[9,48,49,51,106,111,128,133,134,221],naw:[24,52,141,142,262,275],nbsp:343,nchar:120,nclient:298,ncolumn:330,ncurs:141,ndb:[6,13,22,25,29,33,43,51,102,105,116,125,144,148,169,246,256,306,318,328],ndb_:[43,109,159,252],ndb_del:306,ndb_get:306,ndb_set:306,ndk:75,nearbi:[119,152,153,154,221],nearli:321,neat:[0,3,138,357],neatli:[108,344],necess:[40,95],necessari:[0,4,22,36,39,40,51,57,58,59,61,77,91,108,110,114,118,121,125,131,138,153,154,177,181,195,210,233,234,251,252,296,322,328,330,338,340,344],necessarili:[38,41,57,88,90,109,344],necessit:309,neck:[109,182],necklac:182,need:[1,2,3,4,5,6,8,9,10,11,13,14,15,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,130,131,133,134,135,136,137,138,140,144,146,148,152,154,156,159,164,165,167,169,170,175,179,180,186,187,189,193,194,195,196,203,204,205,206,215,217,218,219,220,221,226,231,232,233,234,235,242,246,247,251,252,267,269,271,272,276,284,291,296,298,306,307,308,312,316,318,321,322,324,328,329,330,331,338,339,341,344],need_gamedir:267,needl:203,neg:[62,126,152,326,344],negat:[114,119,242],negoti:[55,179,281,283,285,294,308],negotiate_s:283,neighbor:39,neither:[11,54,61,73,97,110,185,251,291,316,319,328,345],nenter:51,nest:[11,14,33,43,51,114,144,159,206,215,241,247,252,291,325],nested_mut:11,nested_r:159,nestl:111,net:[9,43,57,63,70,72,79,90,146,164,280,281,291,294,308],netrc:131,network:[40,43,53,55,64,65,70,71,72,79,90,103,113,139,146,164,278,279,284,305,308],neu:180,neutral:189,never:[12,14,26,27,31,33,51,54,56,60,61,62,64,80,86,88,91,95,96,104,114,115,118,119,121,125,127,131,133,144,194,205,206,220,221,231,242,247,306,316,325,344],nevertheless:[26,43,51,86,126,156,180],new_alias:154,new_arriv:233,new_attrobj:316,new_channel:[58,164],new_charact:231,new_coordin:235,new_datastor:86,new_goto:328,new_kei:[107,154,247],new_loc:[43,159],new_menu:180,new_nam:[43,107,159],new_name2:[43,159],new_obj:[80,247,252],new_obj_lockstr:159,new_object:[109,252],new_raw_str:151,new_room_lockstr:159,new_ros:89,new_script:102,new_typeclass:[144,318],new_typeclass_path:125,new_valu:[84,316],newbi:[25,48,55,124],newcom:[96,117],newer:9,newindex:215,newli:[43,46,58,60,66,131,133,159,175,180,199,204,234,247,252,259,324],newlin:[33,43,137,166,322,330],newnam:[33,43,159,318],newpassword:[43,157],newstr:137,nexist:22,nexit:[120,127],next:[0,4,5,6,9,10,11,12,13,14,20,21,22,23,25,28,29,30,31,33,36,38,39,41,42,46,49,50,51,52,56,58,60,61,62,64,65,68,72,73,75,76,77,79,80,81,83,85,86,89,90,95,96,98,100,102,103,106,110,111,114,116,119,121,122,123,127,131,133,134,137,138,180,184,202,215,217,218,219,220,221,232,242,267,322,328,329,331,344],next_nod:51,next_turn:[217,218,219,220,221],nextnod:328,nextnodenam:328,nextrpi:79,nexu:45,nfkc:144,ng2:330,nginx:8,nice:[0,12,22,27,49,54,58,61,62,68,70,81,90,96,100,111,119,127,138,140,159,179,182,206,251],nicer:[20,60,96],niceti:[43,159],nick:[2,11,45,57,74,79,89,129,139,144,146,159,164,165,175,206,246,247,279,316,317,364],nick_typ:87,nickhandl:[11,87,316],nicklist:[146,164,279],nicknam:[43,87,89,129,131,165,206,246,247,279,316,317],nickreplac:316,nicktemplateinvalid:316,nicktyp:[206,247],nifti:8,night:[58,61,132,138,187],nine:66,nineti:345,nit:[60,62],nline:337,nmrinwe1ztfhlmpwzyisindpzhroijoipd02mdaifv1dlcjhdwqiolsidxjuonnlcnzpy2u6aw1hz2uub3blcmf0aw9ucyjdfq:122,no_act:328,no_channel:[31,33,152,328],no_default:[125,144,318],no_exit:[31,33,116,152,226,230,328],no_gmcp:291,no_log:153,no_match:180,no_mccp:280,no_more_weapons_msg:232,no_msdp:291,no_mssp:281,no_mxp:282,no_naw:283,no_obj:[31,152,226,230,328],no_prefix:[144,175],no_superuser_bypass:[144,175,242,247,318],no_tel:80,noansi:170,nobj:120,nocaptcha:133,nocaptcha_recaptcha:133,nocolor:[81,272,287,290,295,296],nodaemon:106,node1:[51,328],node2:[51,328],node3:[51,328],node:[13,85,109,188,215,230,249,265,328],node_abort:51,node_apply_diff:249,node_attack:51,node_background:51,node_betrayal_background:51,node_border_char:328,node_destin:249,node_examine_ent:249,node_exit:51,node_formatt:[51,188,328],node_four:51,node_game_index_field:265,node_game_index_start:265,node_hom:249,node_index:[249,328],node_kei:249,node_loc:249,node_login:51,node_matching_the_choic:51,node_mssp_start:265,node_mylist:51,node_on:51,node_parse_input:51,node_password:51,node_prototype_desc:249,node_prototype_kei:249,node_prototype_sav:249,node_prototype_spawn:249,node_readus:51,node_select:51,node_set_nam:51,node_start:265,node_test:51,node_text:51,node_usernam:51,node_validate_prototyp:249,node_view_and_apply_set:265,node_view_sheet:51,node_violent_background:51,node_with_other_nam:328,nodefunc1:51,nodefunc2:51,nodefunc:328,nodekei:328,nodenam:[51,328],nodename_to_goto:51,nodestartfunc:51,nodetext:[51,188,249,328],nodetext_formatt:[51,188,249,328],noecho:[43,169],noerror:247,nofound_str:[144,206,247,344],nogoahead:289,nohom:324,nois:21,noisi:[90,264,269,277,287,290,312],noloc:[43,159],nomarkup:[74,81],nomatch:[22,168,180,326,344],nomatch_exit:22,nomatch_single_exit:22,nomigr:127,non:[4,6,14,15,20,22,27,29,31,33,38,43,44,49,50,52,55,58,61,62,63,64,65,68,70,74,82,86,88,102,105,109,110,114,122,124,125,126,131,137,139,140,144,146,148,150,152,159,164,169,175,177,185,195,204,212,214,215,232,238,246,247,250,251,252,256,257,259,261,267,276,290,291,305,306,308,316,318,321,324,325,326,328,330,341,344],nonc:295,nondatabas:[11,306,318],none:[0,1,2,10,11,13,14,15,22,25,30,31,33,34,39,40,41,42,43,44,49,50,51,56,58,60,62,64,69,74,77,80,81,83,84,85,86,87,88,91,96,102,105,111,112,114,116,118,119,121,123,144,146,150,151,152,153,154,156,159,160,161,162,163,164,166,167,170,175,176,177,179,180,181,182,185,187,188,189,192,194,195,198,203,204,205,206,212,214,215,217,218,219,220,221,226,230,231,232,233,234,235,238,241,242,246,247,249,251,252,257,258,260,261,264,265,267,269,273,276,277,278,279,286,287,295,296,306,307,308,310,311,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,339,340,341,344,345,349,352,357],nonpc:123,nonsens:205,noon:[20,60,73,76,80,96],nop:290,nopkeepal:[24,290],nor:[11,13,29,31,42,54,106,108,116,126,185,186,234,247,251,291,316,319],norecapcha:133,norecaptcha_secret_kei:133,norecaptcha_site_kei:133,norecaptchafield:133,normal:[2,3,5,6,9,10,11,13,14,15,19,20,21,23,25,27,29,30,31,33,34,38,43,44,46,49,51,55,56,57,58,60,62,64,66,68,69,72,74,75,76,80,81,82,83,85,86,87,88,90,93,96,97,100,102,104,105,109,110,111,112,113,114,116,119,121,122,123,125,126,127,128,134,135,137,138,140,144,146,148,150,151,152,153,154,156,159,166,169,170,175,179,184,185,217,218,219,220,221,226,231,234,235,246,247,249,252,261,267,276,279,280,281,283,285,299,306,308,314,316,317,318,321,322,325,328,329,334,341,343,344,346],normal_turn_end:116,normalize_nam:247,normalize_usernam:144,north:[0,20,22,43,44,46,49,89,111,114,121,159,180,213,299],north_south:111,northeast:[20,43,159,235],northern:[22,111],northwest:159,nose:316,not_don:312,not_error:267,not_found:159,notabl:[6,9,10,40,43,63,97,131,154,159,170,179,318,325,344],notat:[43,119,159,321,344],notdatabas:125,note:[0,1,2,4,5,6,9,11,12,13,19,20,21,23,24,25,27,29,41,42,43,48,49,57,58,59,60,61,62,63,64,69,70,73,74,75,76,80,83,85,86,88,89,90,93,94,95,96,100,102,103,105,106,107,109,110,113,114,115,116,117,119,121,123,124,125,126,128,130,131,133,134,135,136,137,141,144,146,151,152,153,154,156,159,160,161,164,165,166,167,169,170,171,175,176,179,181,182,183,184,185,186,187,189,194,195,198,202,203,204,205,206,212,213,215,217,218,219,220,221,226,233,234,235,241,242,246,247,251,252,261,264,267,272,276,277,279,280,284,285,286,287,290,291,292,294,295,298,300,301,306,308,312,313,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,339,340,341,344,347,350,364],notepad:63,notfound:344,notgm:58,noth:[0,10,11,14,20,22,27,29,33,34,42,56,57,60,62,83,85,89,95,108,111,115,116,127,144,159,168,215,217,220,221,231,235,247,259,279,316,318,328],nother:120,notic:[0,10,12,13,20,22,23,29,33,36,37,39,41,42,46,62,69,70,91,96,117,121,126,127,131,180,223,280],notif:[4,75,131,137,138,199],notifi:[43,98,164,217,218,219,220,221,233,251],notificationsconfig:4,notimplementederror:290,notion:[62,115,116],noun:[205,206],noun_postfix:205,noun_prefix:205,noun_transl:205,now:[0,2,3,5,6,9,10,11,12,14,20,21,22,23,25,27,28,29,31,33,36,39,41,46,48,49,51,55,56,57,58,60,61,62,63,64,65,67,69,71,72,73,75,76,77,79,80,81,82,83,85,86,89,90,91,95,96,97,98,100,102,103,105,106,108,109,110,111,114,115,117,118,119,121,123,125,126,127,128,131,133,134,135,136,137,138,140,153,164,166,179,184,188,195,215,226,235,242,247,279,287,308,340,342,344],nowher:[95,111],noxterm256:290,npc:[9,33,46,51,61,64,73,111,119,124,139,179,214,241,364],npcname:118,npcshop:85,nprot:120,nr_start:258,nroom:[22,120],nroom_desc:127,nrow:330,ntf:63,nthe:226,nuanc:114,nudg:[78,226,312],nuisanc:103,nulla:52,num:[49,80,206,247],num_lines_to_append:337,num_object:119,num_objects__gt:119,num_tag:119,number:[0,6,10,11,12,13,20,21,23,25,26,27,31,33,34,36,38,41,43,49,50,51,57,58,60,61,62,64,71,73,77,81,85,87,90,93,95,96,97,98,100,102,104,105,107,111,112,114,115,116,119,120,122,123,125,127,131,134,135,140,141,144,146,151,152,153,157,159,164,165,166,176,177,182,184,185,188,190,192,194,195,198,204,205,206,215,217,218,219,220,221,247,251,252,258,265,267,272,278,279,281,285,298,308,310,312,316,317,319,321,322,324,326,328,329,330,331,334,337,341,344,357],number_of_dummi:267,number_tweet_output:120,numbertweetoutput:120,numer:[61,73,97,190,321],numpi:300,o_o:138,obelisk:232,obfusc:[205,206],obfuscate_languag:[205,206],obfuscate_whisp:[205,206],obj1:[11,43,80,97,109,159,203,221],obj2:[11,43,80,97,109,127,159,203,221,322],obj3:[11,43,109,159],obj4:11,obj5:11,obj:[2,6,10,11,22,25,27,31,33,41,42,43,48,56,58,59,60,80,82,84,86,87,89,91,96,102,109,112,115,117,119,121,125,127,139,144,152,153,154,157,159,165,167,169,170,176,180,182,187,188,189,192,194,195,198,199,203,206,215,217,218,219,220,221,226,232,233,235,241,242,246,247,252,256,257,258,296,298,299,306,316,317,318,319,322,324,325,329,339,340,341,344],obj_desc:220,obj_detail:233,obj_kei:220,obj_prototyp:252,obj_to_chang:125,obj_typeclass:220,objattr:[232,241],objclass:[334,344],object1:33,object2:[33,179,247],object:[0,2,9,10,12,13,14,15,18,19,21,22,23,26,29,30,31,33,34,36,38,39,40,41,42,44,45,46,47,49,50,51,52,53,55,56,57,58,62,69,73,74,77,79,81,83,84,85,86,87,88,91,93,95,102,103,104,107,108,109,110,114,115,116,117,118,120,122,123,125,127,129,132,133,134,135,137,138,139,140,141,142,143,144,146,147,148,150,151,152,153,154,156,157,158,159,160,161,164,165,167,169,170,171,175,176,177,178,179,180,181,182,186,187,188,189,192,193,194,195,196,198,199,203,204,206,209,210,211,212,213,214,215,217,218,219,220,221,223,226,229,230,231,233,234,235,238,239,241,242,249,250,251,252,253,256,257,258,259,260,261,265,267,269,271,272,273,274,276,277,280,281,282,283,284,285,286,287,289,291,294,296,298,299,305,306,307,308,310,311,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,334,335,338,339,340,341,342,343,344,345,349,351,357,360,364],object_from_modul:344,object_id:134,object_search:134,object_subscription_set:246,object_tot:317,object_typeclass:[342,360],objectcr:357,objectdb:[11,53,59,96,112,119,120,125,133,141,246,247,252,314,316,324,329,341],objectdb_set:[148,316,319],objectdbmanag:[245,246],objectdoesnotexist:[148,177,239,246,256,274,316,319,335],objectform:357,objectmanag:[245,247,317],objectnam:[6,58],objects_objectdb:86,objectsessionhandl:[2,247],objectupd:357,objid:80,objlist:109,objlocattr:[232,241],objmanip:[43,159],objmanipcommand:159,objnam:[27,43,125,159],objparam:252,objs2:112,objsparam:252,objtag:241,objtyp:176,obnoxi:269,obs:318,obscur:[48,72,82,205,206],observ:[13,14,20,43,81,88,159,165,187,206,223,233,291,322,344],obtain:[0,33,39,63,77,90,91,93,100,180,232],obviou:[0,59,61,103,121,128,138,190],obvious:[0,4,14,49,55,105,108,121,319],occaecat:52,occas:128,occasion:[90,119],occation:330,occur:[9,10,25,33,42,57,60,102,137,168,204,219,234,242,247,260,299,328,337],occurr:[46,91,123,321],ocean:[90,122],ocw:124,odd:[22,49,61,103,126],odor:58,off:[0,11,14,20,23,24,29,31,33,36,40,41,43,49,50,51,55,61,64,66,74,80,81,86,88,90,100,103,107,108,110,114,115,122,123,126,135,138,139,144,154,164,169,170,175,182,188,206,226,231,233,242,247,272,280,287,290,306,318,321,322,324,326,328,329,330,337,345],off_bal:29,offend:12,offer:[1,4,11,14,22,26,28,31,33,34,37,39,40,43,44,50,51,55,56,57,59,62,64,72,73,74,76,83,86,87,89,90,91,96,102,106,108,109,111,114,115,116,123,124,127,128,129,131,132,137,138,144,152,153,158,159,166,169,179,180,187,205,233,249,257,308,328],offernam:179,offici:[38,72,100,103,127,131,337],officia:52,offlin:[9,15,79,90,109,158,164,322],offscreen:9,offset:[206,326,337],often:[2,5,10,11,15,22,26,28,31,33,40,41,42,43,46,48,49,51,57,59,61,62,64,76,86,88,90,91,93,95,96,97,102,103,104,105,112,114,115,116,119,128,131,146,152,157,167,169,175,180,215,217,218,219,220,221,242,246,256,258,267,272,286,306,316,318,322,324,330,337,344],ohloh:37,okai:[41,42,48,49,51,58,75,77,111,123,128,198],olc:[43,47,159,249,252],olcmenu:249,old:[0,1,5,9,21,25,27,31,38,39,43,50,51,55,56,58,60,63,80,81,85,88,90,105,106,111,114,122,123,125,126,128,138,144,152,153,156,159,179,206,242,247,252,276,317,318,321,324,363],old_default_set:127,old_kei:[107,247],old_nam:107,older:[2,9,24,55,63,64,79,105,159],oldnam:318,oliv:114,omiss:60,omit:[91,100,109],on_:180,on_bad_request:269,on_ent:[22,180],on_leav:[22,180],on_nomatch:[22,180],onbeforeunload:[83,137],onbuild:100,onc:[0,2,5,6,9,10,13,16,21,22,23,25,33,34,37,38,39,40,41,42,43,46,47,49,51,55,57,58,60,61,62,63,64,67,72,79,80,83,85,89,90,93,95,96,97,100,102,105,108,114,116,119,121,122,125,126,128,131,133,137,144,146,151,154,159,164,167,170,175,179,180,188,189,195,199,203,205,212,215,217,218,219,220,221,223,226,231,232,233,234,235,247,251,256,259,272,277,290,294,305,316,321,328,329,337,342,344],onclos:[40,278,295],onconnectionclos:[83,137],oncustomfunc:83,ond:319,ondefault:83,one:[0,1,2,3,4,5,9,10,11,12,13,14,15,16,19,20,21,22,23,25,26,27,28,29,31,33,34,35,36,37,38,41,42,43,44,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,70,72,73,74,76,77,79,80,81,82,83,85,86,87,88,89,90,91,92,93,95,96,97,98,100,102,103,104,105,106,108,109,111,112,113,114,115,116,118,119,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,143,144,148,151,152,153,154,156,157,159,164,165,168,169,170,175,176,177,179,180,182,185,187,189,195,198,199,204,205,206,214,215,217,218,219,220,221,226,230,232,233,234,235,238,239,241,242,246,247,249,250,251,252,256,261,267,269,271,272,277,278,279,287,290,291,306,307,308,312,314,316,317,318,321,322,324,325,327,328,329,330,331,334,335,337,339,340,341,342,344,345,357,360],ones:[4,9,14,20,22,27,31,33,57,58,65,72,74,80,81,83,90,95,100,103,109,114,116,126,127,135,152,153,154,177,180,195,217,218,219,220,221,251,252,271,276,308,321,330,338],onewai:[43,159],ongo:[28,91,116,179,213],ongotopt:[83,137],onkeydown:[83,137],onli:[0,2,4,5,6,9,10,11,12,13,14,15,19,20,21,22,24,25,26,27,28,29,31,33,34,37,39,40,41,42,43,44,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,71,72,73,74,77,79,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,100,102,103,104,105,106,107,109,111,112,114,116,117,118,119,121,122,123,124,125,126,127,130,131,132,133,134,135,136,137,138,140,141,144,146,150,151,152,153,154,156,157,158,159,164,165,166,167,168,169,170,175,176,177,179,180,181,182,185,187,188,190,195,199,205,206,214,215,217,218,219,220,221,223,232,233,234,235,239,241,242,247,251,252,256,259,260,261,267,271,272,279,282,284,285,287,290,299,305,306,308,310,311,312,316,317,318,319,321,322,323,324,326,328,329,330,334,337,339,340,341,342,344,357],onlin:[7,12,15,21,37,41,43,55,57,58,60,61,64,65,68,69,70,71,73,77,79,89,96,98,101,104,108,116,123,128,129,139,141,156,164,175,180,188,281,322,364],onloggedin:[83,137],onlook:247,only_tim:341,only_valid:252,onmessag:[40,278,295],onopen:[40,278,295],onoptionsui:137,onprompt:[83,137],onsend:[83,137],onset:[5,11],onsil:83,ontabcr:137,ontext:[83,137],onto:[25,31,33,44,55,60,61,72,90,95,121,137,153,164,233,246,279,325,328],onunknowncmd:137,onward:107,oob:[24,30,33,45,83,104,137,138,139,144,146,166,189,247,272,290,291,295,296,308,328,364],oobfunc:104,oobhandl:334,oobobject:102,ooc:[2,53,58,102,105,114,123,144,148,156,159,160,167,177,181,199,247],ooccmdsetchargen:181,ooclook:[105,181,329],opaqu:[15,103],open:[0,3,4,5,9,20,22,23,26,31,34,37,38,42,46,50,55,57,58,60,63,64,65,67,69,70,71,72,73,75,79,80,90,95,96,103,105,106,111,114,116,123,130,131,133,134,138,159,166,169,179,180,188,212,213,221,226,232,310,316,324,337,344,363],open_parent_menu:180,open_submenu:[22,180],open_wal:232,openhatch:79,opensoci:70,opensourc:321,oper:[9,11,12,14,22,27,33,41,42,43,46,51,57,59,60,61,63,64,67,72,74,80,82,88,89,90,95,96,97,102,109,110,112,115,119,124,126,131,137,139,144,150,152,154,156,159,164,169,170,175,180,185,206,232,242,247,252,261,264,267,276,277,281,283,287,289,290,296,298,299,306,307,316,317,318,321,324,328,329,330,334,344,364],opic:170,opinion:[1,48],opnli:316,oppon:[11,73,218,220,231],opportun:[0,4,22,91,133,221],oppos:[27,89,103,110,114,306,319],opposit:[41,43,58,111,121,159,226],opt:[58,137,234],optim:[23,27,33,34,39,56,64,86,93,115,119,154,175,251,252,302,305,316],option100:51,option10:51,option11:51,option12:51,option13:51,option14:51,option1:51,option2:51,option3:51,option4:51,option5:51,option6:51,option7:51,option8:51,option9:51,option:[2,4,7,8,10,11,17,20,23,24,25,27,29,31,33,34,36,38,41,42,47,50,54,55,57,62,63,64,74,76,79,80,81,83,85,86,88,96,100,102,104,106,108,109,111,112,113,114,116,117,123,127,129,133,134,135,137,138,139,141,144,146,150,151,152,153,154,156,157,159,164,166,167,170,175,176,177,179,180,181,182,184,185,187,188,189,190,192,194,195,199,203,204,205,206,214,215,219,221,226,230,233,234,235,238,241,242,246,247,249,251,252,256,257,258,259,260,261,264,265,267,269,272,273,276,277,280,281,282,283,284,285,286,287,289,290,291,294,295,296,298,299,306,308,310,316,317,318,319,321,322,323,324,326,327,328,329,330,331,334,337,338,339,340,341,343,344,345,349,350],option_class:[141,323],option_dict:328,option_gener:328,option_kei:345,option_str:234,option_typ:339,option_valu:339,optiona:[144,264,318],optionalposit:1,optionclass:[141,142,320,323],optioncontain:323,optionhandl:[141,142,320,338],optionlist:[51,230,249,328],options2:137,options_dict:339,options_formatt:[51,188,230,249,328],optionsl:251,optionslist:230,optionstext:[51,188,328],optlist:215,optlist_to_menuopt:215,optuon:205,oracl:[23,344],orang:[114,203,234,321],orc:[57,61,109,117],orc_shaman:109,orchestr:100,order:[0,2,5,6,9,10,11,13,14,22,27,31,33,36,37,39,43,44,49,50,51,58,60,61,62,63,64,68,69,70,71,80,84,87,89,93,100,102,104,109,111,113,114,116,119,121,122,123,126,127,128,131,133,134,136,137,138,144,150,153,154,160,165,166,169,170,179,180,181,182,183,185,188,203,204,206,217,218,219,220,221,231,232,233,234,241,242,247,252,278,290,295,299,306,316,318,321,322,328,329,330,337,341,344],order_bi:119,order_clothes_list:182,ordered_clothes_list:182,ordered_permutation_regex:206,ordered_plugin:83,ordereddi:11,ordereddict:[11,344],ordin:321,org:[11,37,38,57,64,90,96,116,204,234,283,289,295,321,344,357],organ:[5,6,9,22,69,73,80,89,102,108,111,112,119,124,129,131,132,154,166,170],organiz:102,orient:[55,57,64,96,124],origin:[0,4,9,21,25,29,41,43,49,51,55,57,60,75,76,79,81,89,91,96,102,103,105,106,119,131,136,138,144,146,152,159,180,199,205,206,234,247,251,252,276,310,318,321,328,340,343,344,363],orioem2r:133,ormal:321,oscar:[175,239,318],osnam:344,oss:106,ostr:[144,176,238,341],osx:[63,131],other:[0,1,2,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,25,27,28,29,31,34,36,37,38,39,40,41,43,44,46,47,48,49,50,51,53,55,57,58,59,60,61,62,63,64,65,68,69,70,71,73,74,76,80,81,82,83,85,86,87,88,89,91,95,96,97,100,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,131,133,134,135,136,137,138,139,140,144,150,151,152,153,154,159,164,165,166,167,170,171,175,176,179,182,184,186,188,194,199,205,206,210,212,215,217,218,219,220,221,226,233,234,235,239,242,246,247,251,252,257,259,261,265,271,272,276,278,279,285,287,290,299,306,307,309,316,318,320,321,322,324,326,327,328,329,330,338,339,341,344,345],otherroom:212,otherwis:[0,4,11,15,23,25,27,29,31,33,37,39,41,42,43,51,59,62,68,69,76,78,83,86,89,90,91,95,97,100,102,103,105,109,114,121,123,131,135,141,151,152,156,159,164,175,179,183,187,188,192,195,206,217,218,219,220,221,235,242,247,250,251,252,260,267,278,279,287,306,310,311,321,328,329,337,341,342,344],our:[2,3,4,8,9,11,14,16,20,21,23,25,26,30,31,33,36,37,38,39,40,41,42,43,44,46,49,55,57,58,59,60,61,62,63,64,67,70,72,73,75,77,78,79,80,81,82,83,85,88,90,91,98,100,101,103,111,115,116,117,119,123,124,127,128,129,131,132,134,135,136,137,138,140,148,153,167,187,215,231,232,235,242,257,312,337,363],ourself:123,ourselv:[0,20,58,80,87,118,132,138,144,181,280,281,283,294],out:[0,1,3,6,8,9,10,12,13,14,15,16,17,19,20,21,22,23,26,28,29,33,34,37,38,39,41,42,43,44,45,46,47,48,49,51,53,54,55,56,57,59,60,61,62,63,64,66,69,70,71,77,79,80,86,88,89,90,91,93,95,96,97,100,102,104,105,108,109,111,114,116,117,118,119,121,122,123,126,127,129,131,133,135,137,138,139,143,144,151,152,156,158,159,164,179,181,184,186,188,199,205,206,209,210,212,213,217,218,219,220,221,230,232,251,252,259,267,269,291,295,296,298,307,308,316,325,327,328,330,343,344,357],outcom:[38,73,86,152,185,242,247,251],outdat:8,outdata:[40,308],outdoor:[112,119,122,132,233],outer:330,outermost:[11,29,74],outerwear:182,outfunc_nam:40,outgo:[67,88,90,96,105,146,247,279,291,307,344],outgoing_port:90,outlet:90,outlin:[36,43,111,133,278],outmessag:247,output:[4,14,20,22,26,27,34,40,43,51,52,58,74,79,88,91,95,96,100,105,106,108,110,111,113,114,116,120,121,123,126,128,129,135,137,138,141,142,154,159,164,166,169,170,178,180,184,189,207,208,210,217,218,219,220,221,267,272,287,291,299,306,321,328,329,337,340,344],outputcmd:291,outputcommand:[74,83],outputfunc:[40,59,83,247,272,278],outputfunc_nam:[40,272],outputfunct:83,outrank:317,outright:[12,90,363],outro:[122,233],outroroom:233,outsid:[0,13,15,20,21,38,39,57,64,67,73,88,96,100,104,108,109,110,112,121,134,166,204,220,231,241,291,306,307,316,319,330],outtempl:316,outtxt:27,outward:[49,90],over:[1,6,8,11,13,14,15,16,17,27,28,31,33,34,36,37,38,39,40,43,45,48,49,51,54,57,58,59,60,61,73,77,81,83,85,88,90,93,94,96,97,100,103,105,108,111,112,113,114,115,116,118,119,125,126,127,128,129,133,136,137,138,144,153,176,188,212,215,217,218,219,220,221,233,261,271,285,287,290,292,296,298,300,313,318,322,334,340,363],overal:[10,56,57,68,71,86,90,152,167,218],overcom:111,overhead:[23,27,34,113,132,206,235,316],overhear:205,overlap:[31,62,205,321,330],overload:[5,22,30,31,33,40,44,47,51,55,57,60,74,76,89,96,97,104,114,115,117,123,136,144,152,154,168,175,180,181,187,189,203,206,212,213,217,218,219,220,221,230,231,232,233,234,247,252,261,271,290,307,326,328,329,330,338],overrid:[1,3,4,9,20,21,22,25,31,36,43,51,53,54,68,69,80,83,91,96,102,105,107,109,117,118,121,135,136,137,144,154,159,164,166,170,175,176,180,187,195,205,219,221,233,234,242,247,252,259,290,308,312,316,321,328,329,334,337,338,341],overridden:[4,40,96,136,138,144,159,180,234,329],override_set:107,overriden:[144,166,206],overrod:16,overrul:[2,80,144,153,206,247,330],overseen:73,overshadow:61,overshoot:344,oversight:57,overview:[15,16,18,23,45,46,57,68,77,96,103,139,364],overwhelm:[46,61],overwrit:[5,43,76,136,138,159,166,285,317],overwritten:[33,134,233,319],owasp:357,own:[1,3,4,5,6,8,9,10,11,13,17,19,20,21,22,25,26,27,29,30,31,34,37,38,41,43,45,47,51,55,57,61,62,63,64,67,68,71,72,75,76,77,78,80,81,83,85,86,87,88,91,93,95,96,98,101,102,103,104,105,107,108,109,111,112,114,119,121,122,123,124,125,127,128,129,131,132,133,134,135,136,138,139,148,150,151,152,153,159,164,167,182,184,187,188,199,205,206,210,217,218,219,220,221,232,234,235,241,242,247,252,272,299,307,318,321,322,323,329,330,334,337,338,342,344,364],owner:[4,19,80,85,144,242,338],owner_object:80,ownership:[90,100],p_id:133,pace:[122,231],pack:[83,276],packag:[8,9,23,41,47,63,64,72,75,78,88,90,93,96,97,100,108,127,128,135,141,143,149,155,172,178,229,236,240,243,253,262,267,276,291,295,314,320,346],package_nam:64,packagenam:64,packed_data:276,packeddict:[97,318],packedlist:[97,318],packet:[83,287],pad:[17,114,321,330,344],pad_bottom:330,pad_char:330,pad_left:330,pad_right:330,pad_top:330,pad_width:330,page:[7,8,9,12,13,14,16,17,20,21,23,25,26,28,31,33,36,37,38,40,45,48,51,52,55,57,58,59,60,61,64,67,70,72,73,75,76,77,79,80,81,88,89,90,94,96,99,100,101,103,104,106,108,110,124,125,126,127,129,130,131,133,134,137,138,139,164,165,175,239,251,296,318,328,329,344,346,347,355,361,363,364],page_back:329,page_ban:164,page_end:329,page_formatt:[251,329],page_next:329,page_quit:329,page_top:329,pageno:[251,329],pager:[52,139,329],pages:[51,328],pagin:[251,329],paginag:329,paginated_db_queri:251,paginator_django:329,paginator_index:329,paginator_slic:329,pai:[56,70,85,90,103,232],paid:90,pain:[90,138],painstakingli:13,pair:[31,83,116,137,138,144,152,182,241,247,308,357],pal:87,palett:126,pallet:111,palm:188,palobject:70,pane:[43,88,137,138,171,186,230],panel:[67,106],panic:109,paper:[61,79,116],paperback:73,par:23,paradigm:[9,61,118,218],paragraph:[14,27,38,202,322,330,344],parallel:[57,62,69,317],paralyz:219,param:[67,159,247,261,269,279,312],paramat:[144,154,247,306],paramet:[0,22,24,31,36,39,42,46,49,62,91,100,106,119,127,141,144,146,150,151,152,153,154,159,164,166,170,175,176,177,179,180,182,184,185,187,188,189,190,192,193,194,195,198,199,204,205,206,209,210,212,215,217,218,219,220,221,226,230,233,234,235,238,242,246,247,249,251,252,257,258,259,260,261,264,265,266,267,269,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,289,290,291,292,294,295,296,298,304,305,306,307,308,310,311,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,337,338,339,341,342,343,344,345,349],paramount:127,paramt:345,paremt:252,parent1:109,parent2:109,parent:[2,6,22,25,27,31,33,38,40,43,44,60,64,81,89,96,109,114,118,121,123,125,140,148,156,159,167,169,180,206,215,234,246,247,251,252,256,316,317,318,326,335,337,344],parent_categori:215,parent_kei:[22,180],parenthes:95,pari:[79,90],pariatur:52,paricular:33,park:180,parlanc:3,parri:[116,232],parrot:118,pars:[3,15,31,33,38,40,43,50,51,63,81,83,88,97,104,108,109,114,123,124,129,134,139,149,150,151,154,159,165,166,167,169,170,179,180,185,186,187,199,206,209,210,211,215,226,232,233,234,242,247,250,251,252,272,279,282,291,295,296,308,316,321,322,326,327,328,343,344,364],parse_ansi:321,parse_ansi_to_irc:279,parse_fil:322,parse_html:343,parse_input:328,parse_irc_to_ansi:279,parse_languag:206,parse_menu_templ:[51,328],parse_nick_templ:316,parse_opt:215,parse_sdescs_and_recog:206,parseabl:251,parsed_str:279,parseerror:234,parser:[33,41,47,79,104,108,109,134,150,151,156,159,167,186,187,203,205,206,232,233,234,251,286,321,343],parsingerror:344,part1:203,part2:203,part:[1,4,5,9,11,13,14,15,16,20,22,23,26,29,33,36,37,38,39,40,41,42,44,45,46,48,49,51,57,58,60,61,68,69,70,73,76,80,85,86,88,90,91,92,94,95,102,105,106,111,114,116,117,119,122,123,124,125,127,131,135,136,137,138,139,140,151,152,154,164,167,168,170,175,179,180,185,203,206,215,220,226,233,238,241,242,250,251,259,267,271,296,307,310,312,316,317,321,322,326,328,344,364],part_a:179,part_b:179,parth:292,parti:[8,9,13,23,27,37,42,64,72,75,90,101,114,128,134,177,179,185],partial:[25,68,94,164,166,205,251,269,282,308,339,341,344,345],particip:[41,103,217,218,219,220,221],particular:[5,8,12,13,14,20,22,28,31,38,40,41,43,44,48,58,59,64,68,70,72,74,75,79,80,83,85,88,89,93,96,97,104,105,107,112,113,114,118,119,121,124,125,131,132,135,139,144,151,152,159,176,187,210,219,220,238,241,242,256,308,310,318,334,341],particularli:[0,4,12,38,39,51,55,127,154,167,170,206,252,271],partit:321,partli:[11,31,47,86,129,152],party_oth:179,pass:[4,10,21,23,25,27,28,29,30,33,36,40,43,49,51,52,62,69,74,80,82,83,85,88,90,91,95,96,100,102,105,107,109,110,111,115,117,119,121,125,127,130,134,138,139,144,146,152,164,170,171,175,182,184,185,188,189,194,209,210,212,215,217,218,219,220,221,226,232,241,242,247,250,251,257,260,261,265,277,285,287,290,295,296,306,312,316,318,327,328,329,330,337,338,339,340,343,344],passag:[83,116,182,232,233,331],passant:126,passavataridterminalrealm:287,passiv:[29,116,133],passthrough:[1,31,259],password1:357,password2:357,password:[4,9,12,23,35,36,51,64,74,80,103,131,139,144,156,157,171,186,204,210,272,287,290,311,324,349,357],password_chang:360,passwordresettest:360,past:[0,13,20,26,37,46,50,58,62,69,96,104,108,111,116,123,133,137,219,313,322,331],pastebin:37,patch:[125,342],path:[0,2,4,8,14,20,21,22,27,29,38,39,40,43,45,48,51,59,60,63,64,66,67,69,74,80,85,86,88,89,90,95,96,100,102,105,106,109,114,117,118,119,121,123,124,125,134,135,136,138,139,144,146,148,151,152,153,158,159,160,161,162,163,164,169,175,177,179,180,181,182,184,185,187,189,195,198,203,204,205,206,212,213,214,217,218,219,220,221,223,226,230,231,232,233,235,239,246,247,251,252,256,258,259,261,267,274,276,285,292,298,300,304,308,312,316,317,318,322,324,326,327,328,329,331,334,335,341,344],path_or_typeclass:198,pathnam:342,patient:[20,70],patreon:70,patrol:231,patrolling_pac:231,patron:[37,70],pattern:[3,4,16,51,69,87,127,133,134,135,140,157,206,311,316,344],pattern_is_regex:316,paul:125,paus:[10,39,46,51,100,102,110,116,169,170,194,259,260,328,344],pausabl:344,pauseproduc:269,paxboard:79,payload:[278,295],paypal:[37,70],pdb:[139,141],pdbref:[80,241],pdf:79,peac:117,peek:[20,26,51,91],peer:[278,295],peform:272,peg:103,pem:67,pemit:[43,108,157],penalti:[86,219],pend:312,pennmush:[57,108,129],pentagon:103,peopl:[2,20,21,26,37,43,54,55,58,61,64,68,71,72,73,79,80,81,85,90,95,96,97,103,108,114,116,119,139,164,165,186,206,232,233,324],pep8:26,per:[2,4,11,19,33,38,41,47,51,58,60,62,64,69,83,86,89,93,100,105,109,112,116,119,123,138,144,164,187,205,217,218,219,220,221,231,251,280,281,283,291,294,310,328,329,330,334,337,338],perceiv:62,percent:[33,344],percentag:[116,317,344],percentil:344,perception_method_test:303,perfect:[50,55,61,75,100,131],perfectli:[4,69,96,112,129,138,321],perform:[11,13,14,22,23,25,39,41,42,43,51,52,55,59,71,74,75,80,89,91,93,97,102,103,114,116,117,123,133,134,144,150,152,156,159,164,180,182,188,194,195,206,209,215,217,218,219,220,221,247,251,256,257,276,290,298,299,316,317,318,325,328,329,338,341,344,345,357],perhap:[16,22,42,46,62,69,77,91,94,97,108,138],period:[90,95,96,100,103,127,128,130,344],perist:[34,125],perm:[4,11,12,19,22,25,33,58,68,71,80,85,109,112,123,133,148,157,158,159,164,165,166,169,187,193,203,212,233,239,241,242,246,247,256,316,318],perm_abov:[80,241],perm_us:157,perman:[4,5,12,21,24,25,31,43,51,85,90,96,122,123,138,144,152,153,156,159,164,165,169,205,247,260,318],permiss:[2,4,7,8,9,11,12,18,20,21,23,25,31,41,43,45,66,68,70,71,75,93,108,109,123,133,139,144,147,148,152,154,156,157,158,159,164,165,167,175,193,206,221,239,241,242,246,247,251,252,256,316,317,318,319,322,324,337,341,364],permission_account_default:[80,298],permission_func_modul:241,permission_guest_default:66,permission_hierarchi:[19,80,241,242],permissionerror:251,permissionhandl:[133,319],permit:[41,78,159,311],permstr:[80,144,318,324],permut:206,perpetu:93,persis:29,persist:[0,6,21,22,27,31,33,34,43,51,55,56,57,60,64,79,84,86,89,102,104,105,109,110,115,116,121,123,125,144,148,153,159,169,177,180,184,188,195,205,206,213,215,217,218,219,220,221,226,230,232,239,246,247,249,251,256,257,259,260,261,272,273,274,305,306,310,314,318,324,326,328,330,331,344],person:[12,21,43,61,63,70,73,90,102,105,118,129,139,144,159,164,165,175,179,185,206],persona:96,perspect:[73,76,77,105],pertain:[103,126,136,350],pertin:[68,133],perus:137,peski:85,pester:[57,61],phase:[49,61],philosophi:80,phone:[16,64,75,139,204],phone_gener:204,phonem:205,php:[64,108,357],phrase:[46,198],phrase_ev:198,physic:[2,49,220,231],pick:[6,9,13,15,20,21,31,33,35,37,39,43,51,55,62,68,72,73,80,85,90,95,96,100,102,104,106,111,119,132,151,156,159,165,167,182,190,206,221,232,233,247,251,299],pickl:[11,29,83,115,257,261,264,274,276,277,316,317,325,326,328,340,344],pickle_protocol:340,pickledfield:340,pickledformfield:340,pickledobject:340,pickledobjectfield:340,pickledwidget:340,picklefield:[141,142,320],pickpocket:[43,166],pickup:[221,247],pictur:[21,40,57,106,138],pid:[36,80,100,110,131,133,241,247,267,277,344],piddir:36,pidfil:267,piec:[10,13,59,61,64,93,122,203,294,322,329],pierc:232,piggyback:144,pile:[153,322],pillow:75,ping:[146,164,267,279],pink:[119,321],pip:[9,23,26,38,42,47,59,63,65,71,75,93,96,97,98,100,127,128,130,133,141],pipe:[105,279,325],pitfal:[14,26,114,126],pixel:24,pizza:[148,177,239,246,256,316,318,319],pkg:75,pki:8,place:[0,2,3,4,5,8,9,11,14,15,20,21,25,26,30,37,38,41,43,46,49,51,55,62,63,64,69,71,73,75,76,80,83,89,90,91,95,96,100,102,103,104,105,109,111,121,123,124,126,128,129,131,132,133,135,136,138,144,157,159,165,175,179,180,182,184,188,203,206,209,217,218,219,220,221,226,232,233,235,247,259,276,285,290,306,307,308,316,322,323,325,328,344],placehold:[134,242,247,330],plai:[0,2,11,14,19,22,29,39,46,55,58,61,64,68,73,75,81,83,90,91,95,105,111,114,116,121,122,123,124,132,133,138,144,217,221,291,308,324],plain:[13,14,38,58,86,88,123,164,175,179,180,202,252,272,298,325],plaintext:210,plan:[9,14,15,40,41,42,45,55,56,90,94,96,100,124,125,127,139,322,364],plane:121,planet:[62,79],plant:234,plate:[82,125,204],platform:[9,16,56,63,90,102,106,131],playabl:[133,360],player1:247,player2:247,player:[9,10,11,12,19,20,21,22,25,29,31,34,40,41,43,51,53,54,55,58,60,61,64,65,68,71,73,77,80,81,83,85,90,91,93,95,97,98,105,108,110,111,112,113,116,117,118,119,120,121,122,123,124,133,138,139,153,156,159,164,169,176,179,180,188,190,198,199,203,205,206,210,214,215,220,221,226,233,234,235,238,256,281,290,307,322,327,328,344,357],playernam:71,playerornpc:9,pleas:[4,5,8,16,17,26,31,37,43,51,63,70,71,72,75,78,90,93,94,109,111,114,117,118,120,124,125,127,131,133,169,269,298,334,340,357,363],pleasur:16,plenti:[14,55,60,129],plot:300,plu:[22,27,43,64,73,106,169],pluck:33,plug:[96,103,107,136,235],plugin:[4,40,45,47,53,55,72,79,83,104,108,138,206,265,364],plugin_handl:[83,137],plugin_manag:137,plural:[19,58,80,220,247],png:[70,92,101,136],po1x1jbkiv:37,pocoo:344,point:[0,2,4,5,8,13,14,15,20,21,22,25,27,29,31,33,34,36,37,38,39,42,43,49,51,55,56,60,61,62,63,67,69,73,75,81,83,85,86,88,89,90,91,93,95,97,100,102,104,105,106,112,113,115,116,121,123,125,127,130,131,133,134,135,136,138,139,144,150,154,159,164,167,169,179,189,206,212,217,233,234,235,247,249,251,261,267,271,285,287,295,306,308,316,318,322,328,344,347],pointer:[26,49,56,91],pointless:[6,10,89,115,166],poison:[219,252],poke:119,pole:203,polici:[43,45,90,94,103,139,210,239,311,316],polit:103,poll:[40,136,156,231,267,296],pong:279,pool:[23,31,115,261,312,325],poor:[48,58],poorli:103,pop:[10,23,25,38,48,58,85,106,138],popen:277,popul:[22,23,36,41,57,61,62,81,124,135,138,152,160,161,162,163,180,182,187,203,206,214,217,218,219,220,221,226,230,231,232,233,260,261,322,326,327,329],popular:[9,57,64,79,103,108],popup:[137,138],port:[0,8,9,23,36,43,54,55,63,67,72,94,100,101,110,146,164,276,279,287,299,308,312],portal:[40,43,45,47,53,79,88,89,90,93,94,103,104,106,110,121,128,137,139,141,142,146,169,183,262,264,267,305,306,307,308,331,337,344,364],portal_connect:308,portal_disconnect:308,portal_disconnect_al:308,portal_l:277,portal_pid:[277,344],portal_receive_adminserver2port:277,portal_receive_launcher2port:277,portal_receive_server2port:277,portal_receive_statu:277,portal_reset_serv:308,portal_restart_serv:308,portal_run:267,portal_service_plugin_modul:40,portal_services_plugin:[40,104],portal_services_plugin_modul:40,portal_sess:40,portal_session_sync:308,portal_sessions_sync:308,portal_shutdown:308,portal_st:267,portal_uptim:331,portallogobserv:337,portalsess:[40,105,285],portalsessiondata:308,portalsessionhandl:[40,141,142,262,275,286,308],portalsessionsdata:308,portion:[77,180,190],pose:[29,58,116,144,165,195,206,226],pose_transform:175,posgresql:23,posit:[13,20,22,39,49,51,91,111,116,126,127,137,138,139,153,171,180,186,202,221,232,233,234,235,247,260,321,322,325,326,330,344,345],positive_integ:345,positiveinteg:338,posix:[337,344],possess:[7,77,189],possibl:[0,5,9,10,11,22,23,25,26,31,33,34,37,38,39,43,46,50,55,57,58,63,64,66,73,74,75,76,80,91,93,100,102,104,105,109,111,112,114,116,123,126,127,128,131,134,136,138,141,144,148,150,152,159,167,179,187,194,203,205,206,214,231,233,235,242,247,250,251,252,257,261,272,292,296,306,308,316,317,319,321,324,326,327,328,330,340,341,344],post:[5,31,34,37,55,57,58,61,63,69,70,71,80,98,107,111,120,133,136,210,259,296],post_delet:107,post_init:107,post_join_channel:175,post_leave_channel:175,post_migr:107,post_sav:107,post_send_messag:175,post_text:190,postfix:205,postgr:[23,64],postgresql:[55,344],postgresql_psycopg2:23,postinit:[83,137],posttext:188,postupd:[71,120],pot:12,potato:[24,234],potenti:[10,11,13,26,41,82,83,90,98,111,114,116,123,154,176,210,211,241,242,247,251,338,341,344],potion:[77,318],power:[15,19,20,29,30,31,33,42,43,46,50,51,55,56,58,61,64,80,89,96,109,111,116,122,123,137,138,152,153,158,159,215,220,234,322,328,344],powerfulli:0,pperm:[12,41,43,71,80,133,156,164,203,241,247],pperm_abov:241,pprofil:267,pprogram:267,practial:15,practic:[0,13,14,22,26,29,33,34,36,37,57,58,63,64,70,80,89,90,96,105,109,119,124,126,131,139,322,364],pre:[33,43,47,49,54,61,63,71,89,90,111,114,138,144,159,166,205,242,247,251,252,295,296,326,340],pre_delet:107,pre_init:107,pre_join_channel:175,pre_leave_channel:175,pre_migr:107,pre_sav:[107,340],pre_send_messag:175,pre_text:190,preced:[19,31,41,96,109,114,119,152,154,215,247,252,317,330],precend:150,precis:[11,96,126,321],predefin:[121,311],predict:[125,133],prefac:119,prefer:[21,22,23,31,37,43,47,55,57,71,80,90,91,96,106,109,111,123,131,137,138,152,154,157,180,206,218,231,238,247],prefix:[20,22,23,42,76,86,97,103,125,144,151,168,175,190,205,272,279,310,321,337,341,344,357],prefix_str:25,prematur:[27,93,179],prepai:90,prepar:[3,49,57,87,109,127,136,144,164,206,217,218,219,220,221,231,256,325,340,363],prepars:38,prepend:[199,206,247,321,322,328,344],preprocess:159,prerequisit:[9,36],prescrib:[55,57],preselect:138,presenc:[9,17,23,55,56,90,122,124,126,136,144,247,312,346],present:[1,4,8,22,42,46,48,49,51,62,69,77,85,91,96,97,104,105,116,123,131,138,180,188,190,204,205,214,215,234,252,326,344],preserv:[126,167,318,321,322,337,344],press:[9,14,15,22,26,31,33,42,51,63,80,83,88,95,96,100,106,110,180,226,232,265,328],pressur:82,presto:20,presum:[62,73,153,337,338],pretend:75,pretext:188,pretti:[0,22,25,26,37,38,39,41,60,64,67,72,85,88,89,90,116,121,123,126,131,133,138,154,175,182,204,236,242,251,327,329,338,344],prettier:[0,357],prettifi:[57,344],prettili:62,pretty_corn:330,prettyt:[27,330],prev:[51,329],prev_entri:51,prevent:[11,20,33,38,46,62,95,194,221,234,310,329],preview:38,previou:[0,10,11,14,16,22,29,31,33,41,42,51,52,58,60,62,69,80,85,86,87,91,95,96,100,104,107,114,119,123,126,164,215,233,249,328,337],previous:[20,31,34,43,49,50,67,72,74,91,102,104,114,119,127,133,136,154,157,159,164,175,179,272,288,292,299,308,319,344],prgmr:90,price:[90,232],primari:[17,100,125,133,206,247,316,341],primarili:[2,12,34,36,37,55,61,108,144,179,206,238,285,325,344],primarli:38,primary_kei:133,prime:[150,179],primer:10,primit:[43,61,159],princess:[111,122],principl:[2,9,19,26,30,33,37,38,40,43,51,55,57,60,80,85,89,90,96,98,119,123,132,138,153,156,179,233],print:[4,9,10,11,21,25,26,27,40,42,43,50,51,58,59,83,86,91,95,96,97,110,113,125,156,185,205,234,251,266,267,327,328,329,330,337,344],print_debug_info:328,print_help:234,print_usag:234,printabl:293,printout:290,prio:[25,31,33,150,233],prior:[117,194,247],priorit:205,prioriti:[4,25,31,33,44,51,97,116,152,156,160,161,162,163,167,180,230,232,233,247,326,328,329],privat:[4,8,38,43,57,61,69,90,131,164,165,279,292],private_set:9,privatestaticroot:312,privileg:[21,23,43,60,63,65,72,98,123,165,206,235,247,318],privkei:67,privkeyfil:287,privmsg:279,prize:122,proactiv:115,probabl:[4,5,11,16,21,22,23,25,29,33,37,46,48,51,55,57,61,64,67,69,85,86,89,90,96,108,116,119,121,128,133,134,136,138,166,180,198,204,233,269,279,287,334,344,345],problem:[11,13,15,21,22,23,24,25,26,27,36,38,43,56,61,64,69,70,75,77,80,90,95,97,100,103,110,111,113,127,138,140,144,153,195,247,276,322],problemat:[25,344],proce:[14,15,100,121,126,164,294],procedud:51,procedur:[138,215,287,290],proceed:[131,344],process:[0,4,8,9,11,13,14,15,22,23,25,29,33,36,38,39,41,42,43,49,51,55,59,61,64,67,73,75,76,83,88,89,90,91,92,93,94,100,106,122,131,133,138,139,144,150,152,159,169,175,179,206,215,234,240,242,247,251,257,260,267,272,276,277,284,287,290,295,296,305,306,308,316,321,322,325,328,338,343,344,345,364],process_languag:206,process_recog:206,process_sdesc:206,processed_result:344,processor:[18,43,93,110,111,124,139,141,142,158,169,320,364],procpool:344,produc:[33,43,51,96,114,123,131,156,159,203,205,232,235,247,251,252,266,298,316,318,327,328,344],produce_weapon:232,producion:27,product:[23,26,36,90,93,103,106,128,131,135,298,301,328],production_set:9,prof:93,profession:[3,57,64,108],profil:[45,65,139,141,142,148,188,262,364],profile_templ:188,profit:138,profunc:109,prog:234,progmat:56,program:[2,10,15,23,39,43,53,56,57,63,64,67,70,75,77,79,86,90,92,93,95,96,100,103,106,108,110,114,124,127,128,169,234,262,267,290,296,298],programiz:39,programm:[91,95],programmat:[114,138],progress:[70,73,79,85,94,131,217,218,219,220,221,326,364],proident:52,project:[4,15,25,37,49,64,70,72,77,79,91,99,108,111,124,127,131,135,136,338],projectil:220,promis:26,promisqu:126,prompt:[9,12,23,24,26,42,54,63,64,75,83,88,96,100,111,124,125,137,139,154,170,215,265,279,290,295,296,322,328,364],promptli:14,prone:[1,128,153,318],pronoun:189,prop:61,propag:[8,152,271,340],proper:[15,21,23,27,36,39,43,44,56,57,61,64,85,91,96,100,103,116,123,127,131,133,135,137,138,159,170,179,180,196,205,327],properli:[9,29,58,62,69,84,106,108,117,125,126,127,128,131,133,140,154,179,211,233,241,260,261,287,344],properti:[5,6,13,22,25,39,43,53,55,56,57,59,61,68,73,80,81,84,86,87,96,97,104,109,110,111,115,116,119,121,123,126,127,144,146,148,154,156,159,167,169,170,175,177,180,188,194,203,206,215,217,219,220,221,226,231,232,233,234,235,239,241,242,246,247,251,252,256,258,259,260,272,274,279,285,299,306,307,308,316,318,319,323,325,328,338,339,340,341,344,357],propnam:123,propos:[50,138],proprietari:23,propval:123,propvalu:123,prosimii:[133,134],prospect:61,prot:252,prot_func_modul:[109,250],protect:[6,31,43,90,159,226],protfunc:[141,142,248,251,252],protfunc_callable_protkei:250,protfunc_modul:251,protfunc_pars:251,protfunct:251,protkei:[109,250,251],proto:[276,287],proto_def:203,protocol:[24,27,33,43,47,53,64,72,74,79,83,90,92,94,101,103,104,105,110,137,139,144,146,154,157,189,210,247,262,264,267,269,272,276,277,278,279,280,281,282,283,285,286,287,289,290,291,292,294,295,296,298,305,306,307,308,326,340,344,364],protocol_flag:[289,290,294,306],protocol_kei:307,protocol_path:[285,308],protodef:203,prototocol:[43,169],protototyp:[249,251,252],protototype_tag:109,prototoyp:250,prototyp:[43,45,46,47,53,55,120,139,141,142,159,169,203,218,219,232,364],prototype1:252,prototype2:252,prototype_:109,prototype_desc:[109,252],prototype_dict:[43,159],prototype_diff:252,prototype_diff_from_object:252,prototype_from_object:252,prototype_kei:[43,109,159,251,252],prototype_keykei:[43,159],prototype_lock:[109,252],prototype_modul:[43,109,159,251,252],prototype_pagin:251,prototype_par:[43,109,159,252],prototype_tag:252,prototype_to_str:251,prototypeevmor:251,prototypefunc:252,protpar:[251,252],protpart:251,provid:[0,3,4,11,12,16,17,22,25,29,33,36,38,41,43,47,55,69,75,77,90,91,96,97,100,102,103,108,109,119,124,125,126,127,131,133,134,136,137,138,144,154,159,164,175,180,182,188,190,193,203,204,215,217,218,219,220,221,234,235,241,247,250,259,287,310,317,328,338,339,340,344,345,357],provok:[42,79],proxi:[47,60,67,70,94,103,125,312],proxypass:8,proxypassrevers:8,prudent:36,prune:31,pseudo:[40,49,91,108,204,205],psionic:220,psql:23,psycopg2:23,pty:9,pub:[41,164,175],pubkeyfil:287,publicli:[54,61,79],publish:[21,36,79,100],pudb:141,puff:56,pull:[25,31,33,36,37,38,64,100,128,131,136,198,232,269],pullrequest:37,punch:31,punish:221,puppet:[2,9,19,21,22,31,33,39,40,41,43,55,57,58,62,74,80,96,97,105,107,114,118,123,133,143,144,150,156,159,167,181,199,247,306,308,318,360],puppet_object:[2,144],purchas:[67,85],pure:[46,56,88,114,125,126,256,267,316,321],pure_ascii:344,purg:[11,43,110,125,169],purpos:[4,11,67,83,90,92,95,112,119,123,126,133,146,150,154,185,194,287,316,325,328,344],pursu:[122,231],push:[22,38,76,100,103,126,198,226,232],pushd:63,put:[0,2,3,5,6,10,12,13,14,19,20,21,23,25,33,37,38,42,43,46,49,50,51,57,58,60,61,64,70,73,77,79,80,83,85,86,87,89,90,95,96,102,103,104,105,106,109,111,114,116,121,122,123,125,127,129,133,135,136,138,153,156,157,159,161,165,181,182,188,190,206,215,217,218,219,220,221,223,242,276,290,329,330,344],putti:90,puzzl:[79,122,141,142,178,232,233],puzzle_desc:232,puzzle_kei:233,puzzle_nam:203,puzzle_valu:233,puzzleedit:203,puzzlerecip:203,puzzlesystemcmdset:203,pwd:100,py3:276,pyc:[47,95],pycharm:[38,45,139,364],pyflak:26,pylint:26,pyopenssl:65,pypath:344,pypath_prefix:344,pypath_to_realpath:344,pypi:[64,79,90,93,321],pypiwin32:[9,63],pyprof2calltre:93,pyramid:235,pyramidmapprovid:235,python2:[9,63,97],python37:63,python3:[63,64,75,94],python:[0,2,3,4,9,10,11,12,14,15,19,20,21,22,23,27,29,31,33,37,38,39,42,43,45,46,47,49,50,51,53,56,58,60,62,63,64,65,66,69,72,73,75,76,80,82,83,85,86,89,90,91,93,97,98,100,102,103,104,106,108,109,110,111,113,114,116,118,119,123,124,125,127,128,130,133,134,135,139,151,153,158,159,163,169,170,180,185,192,193,194,195,196,198,204,234,235,242,246,250,252,258,261,267,269,276,280,285,295,306,308,312,314,317,318,321,322,324,325,326,327,328,330,331,334,337,340,344,347,363,364],python_execut:64,python_path:[153,344],pythonista:79,pythonpath:[153,267,277,322],pytz:345,qualiti:[61,151],quell:[2,6,20,121,156,212],quell_color:159,queri:[11,16,34,39,56,64,83,86,94,109,112,131,148,164,166,177,206,238,239,246,247,251,252,256,274,287,302,316,317,318,319,329,335,341,344,345],quersyet:119,query_al:316,query_categori:316,query_info:267,query_kei:316,query_statu:267,queryset:[64,102,112,119,176,199,238,251,273,317,329,341],queryset_maxs:329,quest:[55,57,61,63,117,122,139,233],question:[8,10,22,26,33,34,43,50,51,57,61,63,67,70,73,90,96,124,127,131,135,159,170,246,264,265,316,326,328,344],queu:267,queue:[36,116,312],qui:52,quick:[5,18,22,31,33,38,39,43,48,55,61,70,79,90,91,95,97,108,112,116,119,124,138,140,146,159,180,205,252,272,316,319,330],quicker:[0,37,86,87],quickli:[10,11,15,25,33,34,39,43,48,51,86,89,96,112,114,120,128,136,139,159,180,205,319,322],quickstart:[95,139,364],quiescentcallback:269,quiet:[25,43,85,144,157,159,164,180,182,206,247,329,344],quiethttp11clientfactori:269,quietli:[29,83,88,316],quirk:[24,45,139,153,364],quit:[0,2,4,10,17,21,22,23,30,33,38,39,40,42,46,50,51,54,55,57,60,67,75,85,93,96,105,119,127,128,133,156,171,180,186,188,194,220,287,326,328,329],quitfunc:[50,326],quitfunc_arg:326,quitsave_yesno:326,quo:115,quot:[23,27,35,43,50,51,80,95,96,109,114,118,159,171,186,206,326,328,340,344],qux:215,ra4d24e8a3cab:35,race:[8,55,56,61,73,79,117,133,344],rack:232,radiu:[39,49,111],rage:122,rail:[64,121],railroad:121,rain:[102,119,122,132],raini:233,rais:[10,15,27,33,69,73,77,83,91,109,119,134,144,146,170,176,180,185,187,192,194,195,204,205,206,242,250,251,261,266,267,285,290,296,311,316,317,319,321,322,324,327,328,330,337,338,339,340,344,345],raise_error:[339,344],raise_except:[1,316],ram:[11,90],ramalho:79,ran:[13,36,42,90,127,259],rand:102,randint:[73,91,109,116,120,123,217,218,219,220,221,252],random:[9,20,35,46,60,73,90,91,102,104,109,114,116,120,123,132,204,205,217,218,219,220,221,223,226,228,232,233,235,252,298,299,344],random_string_from_modul:344,random_string_gener:[141,142,178],randomli:[86,93,102,120,132,217,218,219,220,221,226,231,232,267,299],randomstringgener:204,randomstringgeneratorscript:204,rang:[24,31,39,42,43,49,50,56,59,63,88,91,93,103,109,111,116,118,120,122,127,159,184,188,218,221,317,326,357],rank:[19,241],raph:79,raphkost:79,rapidli:153,raptur:291,rare:[10,22,33,34,38,63,86,104,106,115,128,164,242,324],rascal:112,rate:[33,37,43,64,90,164,261,267,286,344],rather:[2,3,11,13,20,22,25,26,29,33,37,38,39,41,43,47,55,57,60,61,64,71,86,89,91,93,95,97,102,104,110,111,112,115,116,127,128,129,131,134,135,138,144,148,152,156,159,160,164,167,169,175,179,190,194,202,206,217,218,219,220,221,236,247,249,251,252,316,318,321,330,339,340,343],ration:179,raw:[3,12,20,33,38,41,51,56,64,74,83,86,95,109,114,119,144,151,154,159,167,168,170,206,210,234,247,272,287,290,295,296,306,316,321,326,328,338,344],raw_cmdnam:[151,168],raw_desc:187,raw_input:[85,328],raw_nick:87,raw_str:[33,51,85,144,146,150,151,154,170,188,215,230,247,249,306,316,328],raw_templ:87,rawstr:[154,170],rcannot:22,rdelet:169,re_bg:343,re_bgfg:343,re_blink:343,re_bold:343,re_color:343,re_dblspac:343,re_double_spac:343,re_fg:343,re_format:321,re_hilit:343,re_invers:343,re_mxplink:343,re_norm:343,re_str:343,re_ulin:343,re_underlin:343,re_unhilit:343,re_url:343,reach:[20,22,39,51,73,87,88,90,95,101,121,122,141,154,188,192,221,287,291,310,328,329,341],reachabl:[64,115],react:[51,115,117,118,231,247],reactiv:[43,169],reactor:[94,278,305,312,342],read:[0,1,4,5,8,9,11,13,15,16,17,20,22,23,25,27,29,31,33,34,37,38,39,41,43,46,51,55,56,58,59,60,61,64,69,70,71,72,76,77,79,80,85,86,88,90,91,93,95,96,102,103,104,105,109,114,119,122,123,124,126,127,128,131,133,134,138,139,144,148,158,166,177,180,187,190,198,199,204,206,232,233,239,246,247,251,252,256,274,276,299,316,318,319,322,323,327,329,335,337,363],read_batchfil:322,read_default_fil:36,readabl:[1,27,38,49,51,93,96,108,114,115,125,232,321,328],readable_text:232,reader:[38,43,48,58,74,79,81,98,133,164,190,221,272,286],readi:[2,10,12,15,20,25,29,36,37,40,42,54,63,75,77,80,83,89,93,106,121,131,136,138,144,154,166,206,217,218,219,220,221,247,296,329,338,344],readili:[23,111],readin:327,readlin:337,readm:[14,37,46,47,53,130,131,178,210],readthedoc:[79,83],real:[2,10,21,22,27,31,38,39,42,46,55,58,59,62,63,66,67,72,73,89,90,93,95,100,108,109,110,111,116,119,123,125,126,131,148,153,177,179,184,205,206,219,241,298,322,331],real_address:2,real_nam:2,real_seconds_until:[184,331],real_word:205,realis:77,realist:[127,132],realiti:[21,55,56,61,77,79,111,126],realiz:[48,96,126,131],realli:[4,10,11,12,13,14,19,20,22,25,26,31,33,38,39,42,51,58,62,64,67,72,77,80,85,89,91,96,98,104,108,110,111,112,115,118,119,121,127,128,138,139,154,170,179,180,181,215,234,242,276,321,322,328,340],realm:287,realnam:89,realpython:10,realtim:[58,184],realtime_to_gametim:184,reason:[8,9,11,12,13,22,25,29,34,37,38,39,40,41,43,44,49,51,56,57,58,60,61,63,64,69,73,80,82,83,86,87,89,93,97,102,103,104,106,109,114,115,116,119,122,126,129,131,138,144,157,159,164,169,186,204,205,247,251,257,264,269,276,277,278,279,285,286,287,290,295,296,298,306,307,308,318,326,337,344],reasourc:109,reassign:49,reattach:[106,278,279],rebas:131,reboot:[11,27,28,43,50,55,67,84,86,90,100,102,105,115,116,128,144,153,164,169,183,188,231,232,247,256,257,259,261,267,307,308,326,328],reboot_evennia:267,rebuild:[58,63,100,128,279],rebuilt:33,rec:206,recach:233,recal:[95,138,232],recaptcha:133,receipt:[103,269],receiv:[31,33,34,37,41,42,51,52,58,77,83,87,91,105,113,114,117,127,133,137,138,144,152,153,170,171,175,176,177,186,199,206,210,247,269,272,276,278,279,285,295,296,305,306,324,329,341,344],receive_functioncal:276,receive_status_from_port:267,receiver1:170,receiver2:170,receiver_account_set:148,receiver_extern:177,receiver_object_set:246,receiver_script_set:256,recent:[4,17,25,60,67,94,123,310],recev:296,recip:[0,28,115,203],recipi:[34,58,144,175,176,199,247,276],reckon:9,reclaim:102,recog:[87,206],recog_regex:206,recogerror:206,recoghandl:206,recogn:[16,20,63,74,83,89,90,96,110,127,134,206,312],recognit:[206,316],recommend:[9,12,23,24,25,26,36,37,38,43,51,55,58,59,60,61,63,69,73,79,86,88,89,90,93,95,108,109,122,124,125,127,131,135,169,190,194,209,234,242,247,269,322,328,341],recommonmark:38,reconfigur:90,reconnect:[144,146,164,175,264,267,276,278,279,305,308],reconnectingclientfactori:[264,278,279],record:[15,23,90,123,210,221,310,357],record_ip:310,recours:12,recov:[27,28,29,56,217,218,219,220,221,242,344],recoveri:116,recreat:[23,63,102,111,128,146,153,322,323],rectangl:327,rectangular:[58,327],recur:64,recurs:[11,241,251],red:[13,14,20,31,43,59,80,87,95,109,114,126,159,169,226,232,321,345],red_bal:59,red_button:[13,14,20,43,87,141,142,159,178,222],red_button_script:[141,142,178,222],red_kei:80,redbutton:[13,14,20,43,87,159,226],redd:103,reddit:103,redefin:[22,33,55,89,247,357],redhat:[63,67],redirect:[8,22,40,69,96,105,133,135,180,328,361],redistribut:34,redit:180,redo:[50,61,326],redon:271,redraw:287,reduc:[94,116,217,218,219,220,221,280],redund:321,reel:153,reen:[114,321],ref:[23,38,125,206,247,344,357],refactor:[45,57,139,247,363,364],refer:[0,8,9,13,19,20,22,31,33,34,37,40,43,46,48,49,51,56,57,62,64,69,73,79,80,86,87,88,89,90,95,96,100,104,105,106,109,110,111,116,118,119,124,125,126,127,129,130,131,133,134,144,153,159,164,168,175,179,188,204,206,217,218,219,220,221,241,247,258,260,261,269,279,299,307,317,328,334,340,341,344],referenc:[43,56,89,104,109,159,164,175,206,239,318,344],referenti:344,referr:90,refin:[49,119],reflect:96,reflow:16,reformat:[252,330,337],reformat_cel:330,reformat_column:[111,330],refresh:[26,134,287,310],refus:12,regain:29,regard:[48,126,127,138,204],regardless:[12,19,31,33,58,73,80,81,83,102,105,114,119,121,125,127,138,144,152,175,179,189,206,247,261,284,287,290,305,307,316,319,322,334,337,344],regener:219,regex:[5,33,50,51,87,127,137,154,157,170,183,204,206,311,316,328,344,347],regex_nick:87,regex_tupl:206,regex_tuple_from_key_alia:206,region:[43,58,90,140,157],regist:[65,71,83,103,104,116,120,131,133,135,137,138,144,164,198,231,232,257,267,278,279,285,308,310,312,321,360],register_error:321,register_ev:198,registercompon:137,registertest:360,registr:65,registrar:67,registri:[204,310,312],regress:251,regul:242,regular:[3,17,33,38,51,69,79,90,96,105,115,127,132,134,135,146,152,182,203,204,233,242,261,316,319,334,344,347,363],regulararticl:335,regulararticle_set:335,regularcategori:335,regularli:[67,85,98,102,120,128,132,184,231,233,259,261,270,300,331],reilli:79,reinforc:79,reiniti:110,reinstal:63,reinvent:57,reject:[188,204],rejectedregex:204,rel:[10,13,14,19,22,31,49,51,82,104,123,131,133,184,221,322,328],relai:[27,33,43,72,105,144,164,179,189,247,285,308,328,329,344],relat:[28,31,33,34,43,47,51,56,57,72,79,94,96,102,103,104,110,125,132,137,138,139,148,149,152,167,172,176,177,184,198,210,217,218,219,220,221,230,233,239,246,247,256,261,272,308,316,318,319,321,328,335,337,346,350,357],related_nam:[148,177,239,246,256,316,318,319,335],relationship:[34,49,119,125],relay:146,releas:[9,28,37,43,55,63,78,79,90,96,169],releg:1,relev:[3,9,11,14,22,30,33,37,38,47,58,62,79,80,89,94,96,107,112,114,116,119,123,124,125,133,135,140,144,150,152,179,180,242,258,281,299,306,307,308,321,326,328,338],relevant_choic:180,reli:[9,34,41,51,62,70,81,85,86,88,91,114,115,119,126,127,135,189,206,233,267,318,328],reliabl:[13,23,25,29,125,334],reload:[0,2,3,5,6,7,12,13,14,19,21,22,26,27,28,29,31,33,35,36,39,40,41,42,44,48,50,51,55,57,58,60,62,63,65,66,68,69,71,73,74,81,92,95,96,98,102,104,105,106,115,116,117,118,121,123,125,128,133,134,135,136,139,144,146,153,158,159,169,175,180,181,185,186,187,195,202,206,212,213,232,233,235,242,247,257,259,261,267,276,277,279,281,305,308,312,316,322,324,326,327,328,331,344,364],reload_evennia:267,remain:[13,19,30,31,33,43,50,51,58,77,90,91,96,97,107,109,110,113,151,153,159,161,165,181,184,187,205,217,218,219,220,221,231,247,267,295,296,328,329,344],remaind:[21,33,184],remaining_repeat:102,remap:[38,316],remedi:60,rememb:[0,1,4,5,11,12,13,21,22,28,29,31,33,39,41,43,48,49,51,54,56,58,61,62,63,69,77,80,86,88,90,91,93,95,96,97,111,112,114,115,119,123,126,128,131,137,139,157,159,181,194,247,257,322,341],remind:[0,4,38,50],remit:[43,157],remnisc:57,remot:[25,100,103,164,276,278,290],remov:[0,1,4,9,11,12,21,22,27,31,36,39,41,43,48,50,51,55,58,69,80,81,84,85,87,89,91,93,98,102,115,116,122,127,128,131,133,136,138,141,152,153,157,159,164,165,166,169,170,175,177,180,182,187,188,192,196,203,204,205,206,215,217,218,219,220,221,226,242,246,247,252,257,260,261,267,285,296,308,310,316,319,321,325,328,334,340,342,343,344],remove_alia:164,remove_backspac:343,remove_bel:343,remove_charact:116,remove_default:[31,153],remove_receiv:177,remove_send:177,remove_user_channel_alia:175,removeth:316,renam:[9,20,43,58,81,136,159,165,247,318],render:[3,22,38,69,81,102,107,133,134,136,166,190,312,338,340,347,355,357],render_post:296,renew:[29,58,67,310],reop:94,reorgan:[45,47],repair:[21,61],repeat:[0,42,61,62,75,88,93,102,110,111,116,118,121,136,139,144,146,179,184,204,215,256,259,267,272,291,316,324,328,331,344],repeatedli:[14,42,62,74,102,139,231,256,259,261,267,272,298,350],repeatlist:74,repetit:[62,116,204],replac:[5,6,9,22,23,25,29,30,31,33,36,38,41,43,50,51,57,69,74,80,87,89,94,95,96,100,104,105,109,111,114,116,119,134,135,136,137,138,144,151,152,153,154,157,165,166,170,175,179,181,183,186,187,188,192,195,202,203,205,206,226,230,233,234,242,247,249,251,252,279,282,295,296,306,316,321,326,327,328,330,343,344,347],replace_data:330,replace_timeslot:187,replace_whitespac:330,replacement_str:[43,165],replacement_templ:[43,165],replenish:[217,218,219,220,221],repli:[33,51,65,70,139,146,179,199,265,289,290,296,308,328],replic:[22,114,136],repo:[38,47,57,79,106,131,139,344],report:[22,24,26,33,37,43,61,63,70,73,75,84,91,93,94,97,102,103,104,115,116,127,131,136,138,159,164,192,195,206,234,247,267,272,279,282,283,290,291,295,306,308,321,324,328,344],report_to:324,repositori:[8,9,23,25,36,76,78,96,100,130,252],repositri:76,repr:[91,344],reprehenderit:52,repres:[0,2,9,20,21,22,25,31,33,40,46,49,53,56,61,62,64,69,77,86,89,95,96,105,107,113,116,119,125,126,127,133,136,144,150,176,182,188,190,192,198,204,205,206,210,212,215,219,232,233,234,247,252,260,261,264,278,279,295,296,306,307,308,312,316,317,321,323,324,328,329,330,340,344],represent:[2,11,28,40,58,64,73,77,86,87,88,105,113,119,126,176,192,195,206,251,256,276,295,296,319,325,331],reprocess:103,reproduc:[10,96,247],reput:209,reqhash:[317,344],reqiur:188,request:[3,8,26,37,40,43,51,63,69,80,90,103,107,119,123,131,133,134,135,139,144,146,157,179,195,247,251,267,269,276,279,281,286,287,289,296,312,319,328,349,350,351,355],request_finish:107,request_start:107,requestavatarid:287,requestfactori:312,requestor:[144,310],requir:[1,4,8,9,10,11,14,15,22,23,33,36,37,38,43,46,47,49,50,51,54,58,60,61,67,68,69,70,71,75,77,78,79,80,84,85,86,89,90,93,94,102,109,110,111,114,115,116,118,119,125,126,127,129,132,133,134,136,137,158,159,164,169,176,177,185,186,187,188,202,204,206,215,219,220,233,234,238,241,247,251,260,267,278,279,292,300,311,317,322,327,328,329,330,334,339,340,341,344,357],require_singl:251,requr:109,rerout:[138,156,160,279],rerun:[13,14,51,122],research:[79,194],resembl:[25,55,129],resend:33,reserv:[1,10,33,95,96,111,251,311,317,344],reset:[0,7,12,15,17,23,27,29,31,33,44,50,60,66,73,81,102,104,105,111,114,116,121,123,125,126,139,144,146,153,159,169,184,195,206,232,242,267,271,277,287,305,316,319,322,330,331,342,344],reset_cach:[316,319],reset_callcount:102,reset_gametim:[27,331],reset_serv:271,reset_tim:187,resid:[47,96,108,242],residu:[43,169,219],resist:[252,344],resiz:[58,138,327,330],resolut:[114,116],resolv:[26,29,42,60,70,90,95,104,116,131,203,217,218,219,220,221],resolve_attack:[217,218,219,220,221],resolve_combat:116,resort:[33,54,58,164,206,344],resourc:[9,23,26,28,38,41,47,48,53,56,90,94,95,96,103,108,115,124,127,135,136,139,220,257,265,296,312,323,342],respect:[0,6,23,33,43,48,58,80,104,105,123,125,157,159,166,179,199,203,206,213,242,247,306,307,318,319,322,324,330,341,344,357],respond:[0,46,51,61,83,84,107,110,117,118,126,294,298],respons:[7,10,16,17,37,49,51,60,63,64,70,85,88,90,91,118,120,121,144,146,153,164,175,233,235,239,247,265,267,269,276,299,308,318,338,340,344],resport:344,rest:[17,29,33,51,56,63,73,82,85,86,87,104,106,111,122,123,151,167,168,217,218,219,220,221,316,321,330],restart:[12,42,43,58,60,76,90,92,93,102,103,104,106,110,116,128,131,135,138,141,144,169,175,180,183,195,247,257,259,260,261,271,284,305,306,307,344],restartingwebsocketserverfactori:[146,278],restock:85,restor:[0,31,102,126,180,220,257,261],restrain:[43,159,241,327,344],restrict:[4,8,11,19,20,43,47,59,68,73,80,90,109,111,115,125,134,137,159,164,182,204,220,221,242,252,324,326,328,330,341],restructur:[38,56],result1:203,result2:[51,203],result:[10,11,23,27,30,31,33,38,43,44,48,51,58,59,73,80,88,90,91,95,96,97,104,105,109,114,115,116,118,119,123,124,126,127,131,134,135,136,144,151,152,154,159,166,170,175,177,179,185,188,203,204,205,206,209,217,218,219,220,221,233,238,242,247,251,252,267,276,299,316,318,321,326,327,328,330,334,337,338,341,344,345],result_nam:203,resum:[29,33,102,260],resurrect:231,resync:[146,276,306],ret:[33,170],ret_index:344,retain:[10,27,31,51,97,111,138,189,239,252,313,318,322,324,337,344],retext:38,retract:179,retreat:221,retri:267,retriev:[0,33,43,69,74,86,96,97,108,112,119,123,139,140,144,148,150,153,159,164,169,170,176,187,194,238,241,246,251,265,272,273,279,285,294,316,319,325,334,339,341,344],retriv:[146,323],retroact:[58,125],retur:52,return_appear:[49,60,122,123,182,187,206,232,247],return_cmdset:166,return_detail:[187,233],return_iter:251,return_key_and_categori:319,return_list:[1,316,319],return_map:111,return_minimap:111,return_obj:[1,11,87,316,319,339],return_par:252,return_prototyp:120,return_puppet:144,return_tagobj:319,return_tupl:[87,185,316],returnv:33,returnvalu:10,reus:[25,334],reusabl:122,rev342453534:344,reveal:182,revers:[29,31,33,39,111,114,121,126,134,148,164,177,235,239,246,256,312,316,318,319,321,335],reverseerror:[267,276],reversemanytoonedescriptor:[148,246,335],reverseproxyresourc:312,revert:[43,90,126,131,156,238],review:[0,31,37,41,64,70,128,135],revis:61,revisit:[36,328],reviu:51,revok:58,revolutionari:131,rework:[29,61],rewritemim:70,rfc1073:283,rfc858:289,rfc:[283,289],rfind:321,rgb:[114,321],rgbmatch:321,rhel:8,rhostmush:[57,108,129],rhs:[25,58,167,170],rhs_split:[159,165,167],rhslist:167,ricardo:344,riccardomurri:344,rich:[22,57,78,79,325],richard:79,rick:109,rid:[56,119,139],riddanc:12,ridden:[1,96],riddick:188,ride:121,right:[0,5,8,10,14,20,21,23,25,28,29,33,38,39,41,42,43,46,51,55,56,57,58,60,61,63,68,74,75,76,80,85,87,90,91,96,101,102,109,111,114,117,119,121,123,126,127,128,133,134,137,138,153,156,159,167,175,181,187,188,190,195,196,203,221,226,231,232,233,235,242,252,256,307,321,322,326,330,344,345],right_justifi:109,rigid:57,rindex:321,ring:205,ripe:96,rise:[31,62],risen:62,risk:[38,43,57,63,90,123,138,158,169,344],rival:111,rjust:321,rm_attr:159,rnormal:114,rnote:[43,169],road:[31,46,111,121,152],roadmap:[45,139,364],roam:[122,153,231],roar:111,robot:[77,133],robust:[85,91,103],rock:[6,60,86,116,124,153],rocki:122,rod:153,role:[17,23,55,57,61,73,91,217],roleplai:[9,11,57,61,68,73,79,116,123,139,185,206,364],roll1:73,roll2:73,roll:[11,58,61,63,73,91,114,116,123,185,217,218,219,220,221,310],roll_challeng:73,roll_dic:185,roll_dmg:73,roll_hit:73,roll_init:[217,218,219,220,221],roll_result:185,roll_skil:73,roller:[73,116,185],rom:79,roof:[43,159],room1:127,room56:13,room:[9,12,13,14,15,20,21,22,27,31,33,42,43,44,45,46,53,55,56,57,59,62,63,64,73,77,80,85,91,96,102,104,108,109,111,112,116,117,118,119,120,121,122,123,124,125,127,129,132,133,140,141,142,150,151,152,153,157,159,165,170,178,180,182,185,187,194,206,212,213,214,217,218,219,220,221,226,229,230,231,232,234,235,241,247,256,271,299,322,342,360,364],room_count:119,room_flag:56,room_lava:56,room_typeclass:[235,342,360],roombuildingmenu:[22,180],roomnam:[43,58,159],roomobj:119,roomref:121,root:[9,13,22,23,36,47,53,63,64,69,75,78,80,81,86,89,90,93,96,97,100,106,128,130,134,135,136,232,247,252,267,312,325,364],rose:[11,87,89,125],roster:[9,217,218,219,220,221],rosterentri:9,rot:127,rotat:337,rotate_log_fil:337,rotatelength:337,roughli:[58,61,94,96,344],round:[17,205,221,330],rounder:205,rout:[5,20,49,56,121,137,144],router:90,routin:[206,302,341,344],row:[0,3,16,25,38,49,58,64,69,86,111,114,116,126,137,330,344],rpcharact:206,rpcommand:206,rpg:[58,60,73,124,185,221],rpi:79,rplanguag:[141,142,178,206],rpm:63,rpobject:206,rpsystem:[38,141,142,178,202,205],rpsystemcmdset:206,rred:321,rsa:[287,288],rspli8t:91,rsplit:[123,321],rsrc:70,rss2chan:[98,164],rss:[7,43,55,79,128,139,141,142,146,164,172,262,272,275,285,364],rss_enabl:[98,164],rss_rate:146,rss_update_interv:[43,164],rss_url:[43,98,146,164],rssbot:146,rssbotfactori:286,rsschan:[43,164],rssfactori:286,rssreader:286,rst:38,rstop:169,rstrip:[91,321],rsyslog:209,rtest2:114,rtext:85,rthe:22,rthi:114,rtype:312,rubbish:[43,156],rubi:64,rudimentari:231,ruin:[122,187,233],rule:[12,13,14,21,33,47,55,58,61,68,77,79,80,96,114,124,126,127,131,139,180,204,205,217,218,221,239,322,364],rulebook:116,rumour:122,run:[0,2,3,5,6,8,9,10,11,13,14,15,20,21,23,24,26,27,28,29,31,35,36,38,40,43,45,46,47,51,53,54,56,57,59,60,61,62,63,64,67,68,69,72,73,76,79,80,81,83,85,86,90,91,92,93,95,96,97,101,102,103,104,109,110,111,115,119,121,122,123,124,125,126,128,130,131,132,133,134,136,137,138,139,141,144,146,150,151,153,154,158,159,164,165,166,169,170,175,195,196,206,209,213,215,217,218,219,220,221,230,235,241,242,247,251,252,256,259,260,261,267,271,273,277,284,285,292,296,298,301,305,306,310,312,318,321,322,326,328,329,331,337,341,342,344,363,364],run_async:[10,344],run_connect_wizard:267,run_dummyrunn:267,run_exec:328,run_exec_then_goto:328,run_init_hook:305,run_initial_setup:305,run_menu:267,run_start_hook:[60,125,318],runexec:328,runexec_kwarg:328,runnabl:109,runner:[36,106,232,298],runsnak:93,runtest:[170,196,211,228,293,303,335,342,352,360],runtim:[12,27,33,62,154,180,234,331,344],runtimeerror:[73,144,146,192,195,198,204,205,251,285,316,328,344],runtimewarn:251,rusernam:51,rush:29,rusti:85,ruv:36,ryou:22,sad:[133,290,328],safe:[11,26,30,31,43,46,56,60,64,82,89,97,104,131,133,144,156,179,242,261,276,308,312,318,322,325,334,344],safe_convert_input:344,safe_convert_to_typ:344,safe_ev:344,safer:[12,13],safest:[0,90,105,318],safeti:[2,43,56,89,90,123,125,139,159,179,246,322],sai:[0,5,6,10,12,14,17,20,22,25,26,27,29,31,33,39,40,41,44,46,51,56,57,58,60,61,62,63,64,69,73,77,78,80,89,90,91,93,96,109,114,116,117,118,119,123,125,126,127,128,129,131,137,138,139,140,153,165,175,179,181,185,188,198,205,206,215,226,233,247,328],said:[0,4,10,22,26,43,44,46,49,51,57,83,91,96,111,112,118,127,134,151,164,168,206,235,247,279,318,328],sake:[13,43,57,126,135,171,186],sale:85,same:[0,2,5,6,9,10,11,12,13,14,15,16,19,20,21,22,23,26,27,28,29,31,33,34,37,38,40,41,42,43,44,50,55,57,58,59,60,61,62,63,64,66,69,73,74,78,80,81,83,84,85,86,88,89,90,91,95,96,97,98,100,102,104,105,106,108,109,110,111,112,113,114,115,116,119,121,123,125,126,127,128,131,133,134,136,138,144,150,151,152,153,154,157,159,164,167,168,169,170,180,182,184,187,190,194,195,199,204,205,206,212,214,215,217,218,219,220,221,231,233,234,235,241,247,251,252,256,257,261,271,276,288,291,292,306,307,308,310,312,316,317,318,319,321,322,324,328,329,330,331,337,338,344,357],sampl:[8,36,56,100,215],san:190,sand:62,sandi:111,sane:[61,79,96],sanit:357,saniti:[9,49,111,127,139,338],sarah:[43,129,165],sat:[21,140],satisfi:[108,167,316],satur:103,save:[0,1,9,15,21,22,24,27,29,33,34,36,41,42,43,46,48,50,51,54,56,64,67,84,86,87,89,95,97,100,102,103,105,107,109,110,112,115,116,123,125,127,131,133,138,144,156,159,169,175,177,180,195,205,242,246,247,249,251,252,257,259,260,261,265,272,285,299,300,305,312,316,318,325,326,334,338,339,340,344],save_buff:326,save_data:338,save_for_next:[33,154],save_handl:338,save_kwarg:339,save_nam:261,save_prototyp:251,save_recip:203,savefunc:[50,326,339],savehandl:339,saver:325,saverdict:325,saverlist:325,saverset:325,saveyesnocmdset:326,saw:[10,46,69],say_text:118,saytext:206,scale:[23,57,61,73,106,114,205],scalewai:90,scan:[8,150,231,233],scarf:182,scatter:[219,322],scedul:331,scenario:58,scene:[11,21,38,55,59,61,73,74,97,109,112,114,116,122,126,204,233,256,261,334],schedul:[27,62,184,195,260,331],schema:[4,64,86,125,131,344],scheme:[28,33,43,63,86,114,159,169,321],scienc:[49,124],scientif:79,scissor:116,scm:9,scope:[29,55,64,74,124,134,138,204,324],score:[58,60,344],scratch:[40,46,57,58,61,63,123,124,128,136,139],scream:122,screen:[7,16,18,33,43,51,52,61,66,74,81,85,97,100,101,104,105,109,114,127,133,138,139,171,186,190,221,272,287,329,344,364],screenheight:[74,272],screenread:[74,272,295,296],screenshot2017:101,screenshot:[55,133,139,364],screenwidth:[74,154,272],script:[6,11,13,14,20,27,36,45,47,53,55,56,57,59,61,62,63,71,80,84,85,86,89,90,93,103,104,105,106,107,108,109,110,112,115,116,117,119,120,122,125,130,132,133,137,138,139,141,142,144,146,158,159,169,176,177,178,179,184,187,191,192,198,203,204,205,213,217,218,219,220,221,223,226,233,235,246,247,251,252,267,300,305,322,323,324,331,339,341,342,344,360,364],script_path:[43,159],script_search:59,script_typeclass:[228,342,360],scriptbas:259,scriptclass:258,scriptdb:[53,119,125,141,256,314],scriptdb_set:[148,246,316,319],scriptdbmanag:[255,256],scripthandl:[141,142,253],scriptkei:[43,159],scriptmanag:255,scriptnam:323,scroll:[20,45,52,63,77,95,96,97,123,138,329],scrub:308,scrypt:102,sdesc:[56,202,206],sdesc_regex:206,sdescerror:206,sdeschandl:206,sdk:63,sea:[111,122],seamless:206,seamlessli:[92,102],search:[0,2,9,13,21,22,30,33,41,42,43,48,50,55,58,59,60,64,68,70,73,76,87,89,94,96,102,104,109,116,123,124,125,127,131,134,136,139,140,141,142,144,150,152,154,159,164,166,169,175,176,179,194,199,203,206,217,218,219,220,221,233,235,238,239,241,247,251,258,273,316,317,318,319,320,321,324,326,344,347,363,364],search_:[27,59],search_account:[58,107,119,141,247,341],search_account_attribut:119,search_account_tag:[119,341],search_at_multimatch_input:247,search_at_result:[206,247],search_attribute_object:119,search_channel:[41,119,141,164,176,341],search_channel_tag:[119,341],search_for_obj:159,search_help:[119,141,238],search_help_entri:341,search_helpentri:238,search_index_entri:[154,156,157,158,159,164,165,166,167,168,169,170,171,179,180,181,182,185,186,187,188,189,193,199,202,203,206,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,247,326,328,329],search_messag:[119,141,176,341],search_mod:206,search_multimatch_regex:247,search_object:[11,13,27,111,119,121,125,141,144,341],search_object_attribut:119,search_objects_with_prototyp:251,search_prototyp:251,search_script:[59,102,119,141,341],search_script_tag:[119,341],search_tag:[48,112,119,140,141,341],search_tag_account:112,search_tag_script:112,search_target:199,searchabl:194,searchdata:[144,206,247,341],searchstr:68,season:[61,187],sec:[10,29,62,74,184,279,331],secmsg:337,second:[0,10,11,14,16,21,22,25,27,29,31,33,38,39,41,43,51,62,63,69,80,85,86,88,90,91,95,100,102,103,104,109,110,114,115,116,119,120,121,123,126,127,132,134,144,146,151,159,164,170,184,194,195,198,206,213,217,218,219,220,221,223,231,241,247,252,260,261,267,272,281,286,299,310,321,324,328,331,337,344,345],secondari:[81,307],secondli:89,secreci:131,secret:[9,23,65,71,185,267],secret_kei:9,secret_set:[4,9,23,65,267],sect_insid:49,section:[1,4,9,11,15,18,21,22,23,25,26,29,31,33,35,36,38,39,40,48,51,58,60,62,63,68,69,75,77,80,86,89,90,93,95,96,100,111,113,119,124,125,127,133,137,138,139,166,187,205,252,321,322,328,345],sector:49,sector_typ:49,secur:[7,11,13,22,26,37,41,43,57,63,80,85,90,96,108,109,114,123,133,134,139,141,142,158,169,175,178,239,247,287,318,337,344,357,364],secure_attr:80,sed:36,see:[0,1,2,3,4,5,8,9,10,11,12,13,14,19,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,37,38,39,40,41,42,43,44,46,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,68,70,71,72,74,75,76,80,81,82,83,86,87,88,89,90,91,93,95,96,98,100,101,102,103,104,105,106,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,144,154,156,158,159,164,165,166,167,170,175,178,179,180,186,190,192,199,203,204,205,206,210,213,214,215,217,218,219,220,221,223,226,231,233,234,235,246,247,260,265,267,269,270,278,279,280,281,283,287,288,290,292,294,295,296,298,299,307,308,312,316,321,324,325,326,327,330,339,340,344,351,357],seek:[122,242,337],seem:[4,22,24,31,39,41,56,61,63,75,94,109,110,119,121,122,123,137,138,316,322],seen:[0,22,29,31,34,40,46,49,51,57,58,69,81,91,95,96,102,105,111,119,120,121,126,127,131,180,279,330],sefsefiwwj3:9,segment:[121,312],seldomli:[154,170],select:[2,20,22,27,31,38,43,51,54,63,69,77,80,85,86,104,105,106,111,119,120,123,131,133,137,138,140,151,152,157,166,215,218,318,326,328],selet:328,self:[0,1,2,5,6,9,10,11,13,20,21,22,25,27,28,29,30,31,33,38,39,40,41,42,43,44,49,50,51,56,57,58,59,60,62,63,71,72,73,76,77,80,81,82,85,86,87,89,95,96,102,109,115,116,117,118,119,120,121,123,125,127,129,132,134,144,146,148,150,152,153,154,156,159,160,164,167,169,170,175,177,179,180,181,182,185,187,188,192,199,202,203,206,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,247,260,265,267,269,270,274,278,279,285,287,288,290,292,294,295,296,306,307,308,316,318,319,321,326,328,329,334,338,339,340,344,351],self_pid:344,selfaccount:58,sell:[78,85,179],semi:[93,132,138,205],semicolon:[80,242,324],send:[2,12,22,25,27,29,33,34,41,43,51,52,58,59,61,64,67,70,71,73,74,76,80,81,83,89,91,93,95,96,102,103,105,107,110,113,114,115,116,118,120,123,126,133,137,138,139,140,144,146,153,154,157,164,170,175,176,177,179,188,189,199,206,210,221,223,230,231,247,260,261,264,267,269,270,272,276,277,278,279,280,282,285,286,287,289,290,291,293,295,296,298,306,307,308,309,321,324,325,328,330,344],send_:[40,83,285],send_adminportal2serv:277,send_adminserver2port:264,send_authent:278,send_channel:[278,279],send_default:[40,83,278,279,285,287,290,295,296],send_defeated_to:231,send_emot:206,send_functioncal:276,send_game_detail:269,send_heartbeat:278,send_instruct:267,send_mail:199,send_msgportal2serv:277,send_msgserver2port:264,send_p:279,send_privmsg:279,send_prompt:[287,290,295,296],send_random_messag:223,send_reconnect:279,send_request_nicklist:279,send_status2launch:277,send_subscrib:278,send_testing_tag:230,send_text:[40,83,287,290,295,296],send_to_online_onli:175,send_unsubscrib:278,sender:[34,41,43,107,144,146,175,176,177,179,206,247,278,309,324,334,341],sender_account_set:148,sender_extern:177,sender_object:309,sender_object_set:246,sender_script_set:256,sender_str:175,sendernam:43,senderobj:324,sendlin:[287,290,295],sendmessag:[40,188],sens:[1,10,22,31,37,56,58,80,86,89,96,102,121,138,152,226,324,325,328],sensibl:[90,271],sensit:[11,51,58,80,176,180,184,187,195,210,211,238,317,331,341],sensivit:204,sent:[25,34,51,58,69,74,83,88,91,105,107,113,114,119,137,138,144,146,150,164,166,170,175,176,177,180,186,188,195,199,210,228,234,247,264,267,269,272,276,277,278,279,287,291,295,306,308,316,328,341],sentenc:[46,91,198,205,206],sep:[321,344],sep_kei:[22,180],separ:[8,11,13,14,20,23,29,31,33,37,40,43,46,48,51,57,58,61,62,64,71,72,75,77,80,84,85,86,87,89,91,92,93,95,96,98,101,102,103,105,106,112,114,115,119,121,123,126,129,131,133,136,137,138,140,151,153,154,159,165,166,167,169,170,180,195,198,199,205,206,215,217,218,219,220,221,233,235,238,242,246,247,251,257,261,286,291,296,308,321,322,324,327,341,344],separatli:29,seq:87,sequenc:[10,13,14,15,33,64,80,81,87,89,113,126,154,158,170,175,184,206,242,265,271,321,322,328,330,343,344],seri:[51,61,79,114,131,136,138,330],serial:[11,83,138,250,260,261,285,325,338,340,344],serializ:296,seriou:[39,110],serious:63,serv:[45,49,55,64,83,101,103,104,111,135,152,219,296,312,322,324,355],server:[0,2,4,9,10,11,12,13,15,19,21,25,26,27,28,29,31,33,34,35,36,37,38,40,41,45,47,51,53,54,55,56,57,58,59,60,62,63,64,65,66,67,69,70,71,72,73,74,75,78,79,80,81,83,84,86,88,89,91,93,94,95,96,97,100,101,102,103,106,107,109,110,111,113,114,115,116,118,121,122,124,125,127,128,130,131,133,134,135,136,137,138,139,141,142,144,146,153,157,159,164,169,171,175,178,180,183,186,187,195,202,206,207,208,209,212,213,231,232,233,235,247,256,257,259,261,313,318,322,324,325,328,331,334,337,344,363,364],server_connect:285,server_disconnect:285,server_disconnect_al:285,server_epoch:[27,331],server_l:277,server_logged_in:285,server_nam:104,server_pid:[277,344],server_receive_adminportal2serv:264,server_receive_msgportal2serv:264,server_receive_statu:264,server_reload:[257,261],server_run:267,server_runn:305,server_servic:344,server_services_plugin:[40,104],server_services_plugin_modul:40,server_session_class:105,server_session_sync:285,server_st:267,server_twistd_cmd:277,server_twisted_cmd:277,serverconf:[157,261],serverconfig:[260,261,273,274],serverconfigmanag:[273,274],serverfactori:[277,287,290],serverload:[43,169],serverlogobserv:337,servermsg:337,servernam:[4,8,9,54,74,90,104],serverprocess:[43,169],serversess:[40,105,114,141,142,210,242,262,285,308,316],serversessionhandl:[40,105,308],serverset:[43,80,164,241],servic:[12,23,40,45,67,71,90,94,100,103,104,110,131,133,141,142,169,262,264,267,268,276,277,284,305,312,344],sessdata:[307,308],sessid:[2,33,105,123,246,247,264,276,277,285,308],session:[2,12,15,24,31,33,40,45,47,51,53,57,70,74,81,84,88,89,91,96,100,107,114,123,127,138,139,141,142,144,146,148,150,151,152,154,156,157,160,162,166,167,171,186,188,189,209,210,211,230,246,247,249,250,251,257,262,264,272,276,277,278,279,285,286,287,290,295,296,305,306,308,310,326,328,329,344,345,364],session_data:308,session_from_account:308,session_from_sessid:308,session_handl:[105,141],session_portal_partial_sync:308,session_portal_sync:308,sessioncmdset:[31,43,162],sessionhandl:[40,83,141,142,144,247,262,272,278,279,285,286,306,307],sessionid:285,sessions_from_account:308,sessions_from_charact:308,sessions_from_csessid:[285,308],sessions_from_puppet:308,sesslen:247,set:[0,2,3,6,7,8,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,29,30,32,33,34,35,36,37,38,39,40,41,42,44,45,46,47,50,52,53,55,56,57,58,59,60,61,63,64,66,67,68,69,71,74,75,76,82,83,85,86,87,89,91,93,95,96,97,100,102,105,107,108,109,110,111,112,113,114,116,117,119,120,121,124,125,126,128,129,130,133,134,135,136,137,138,139,141,143,144,146,148,150,151,152,153,154,156,157,159,160,161,162,163,164,166,167,170,172,175,180,181,182,183,184,185,186,187,188,189,193,195,198,202,203,205,206,209,212,213,215,217,218,219,220,221,226,228,230,231,232,233,234,235,241,242,246,247,250,251,252,258,259,260,261,264,266,267,271,272,273,274,277,278,280,281,283,284,287,289,290,292,293,298,299,301,303,305,306,307,308,310,312,313,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,334,335,337,338,339,340,341,342,343,344,345,347,350,357,360,364],set_active_coordin:235,set_al:231,set_alias:154,set_attr:159,set_cach:316,set_class_from_typeclass:318,set_dead:231,set_desc:164,set_descript:51,set_detail:[187,233],set_game_name_and_slogan:350,set_gamedir:267,set_kei:154,set_lock:164,set_log_filenam:175,set_nam:51,set_password:144,set_task:195,set_trac:[42,141],set_webclient_set:350,setcolor:81,setdesc:[57,165,212],setgend:189,sethelp:[20,68,166],sethom:159,setlock:212,setnam:40,setobjalia:[43,159],setperm:[43,157],setspe:213,sett:98,settabl:[74,86,290],setter:39,settestattr:50,settingnam:80,settings_chang:107,settings_default:[4,5,34,47,104,127,141,142,337,344],settings_ful:104,settings_mixin:[141,142,262,297],settl:[111,116],setup:[5,15,18,26,40,47,61,63,67,71,85,93,96,100,116,120,127,129,131,138,139,144,156,164,170,184,196,226,228,230,233,247,259,271,284,293,298,302,303,305,312,316,318,334,335,342,360,364],setup_str:302,setuptool:[63,75],sever:[0,11,14,19,22,29,31,33,36,41,42,43,48,50,52,55,56,57,59,62,69,79,80,102,104,109,113,116,119,125,137,158,159,167,169,187,194,195,231,233,247,293,294,319,324,344],sex:189,shall:[126,134],shaman:[57,109],shape:[20,22,39,58,61,111,235,330],sharabl:109,share:[9,25,31,36,37,42,46,57,59,63,64,65,80,86,90,102,103,105,112,116,119,125,133,135,194,195,252,261,298,316,317,319,330,344,351],sharedloginmiddlewar:351,sharedmemorymanag:[317,333],sharedmemorymodel:[177,239,316,318,334,335],sharedmemorymodelbas:[148,177,239,246,256,316,318,334,335],sharedmemorystest:335,shaw:[77,79],she:[0,22,33,56,91,126,180,189,205],sheer:[43,159],sheet:[23,38,51,133,134,137,327],sheet_lock:58,shell:[7,23,25,26,36,57,58,59,60,63,75,86,87,90,100,103,108,110,125,128,287,316],shield:[29,77,86],shift:[14,15,27,108,195,232,238,344],shiftroot:232,shine:[21,233],shini:344,ship:[55,64,75,79,111],shire:62,shirt:182,shoe:182,shoot:[21,220,221,327],shop:[51,57,108,124,139,364],shop_exit:85,shopcmdset:85,shopnam:85,shopper:85,short_descript:54,shortcom:85,shortcut:[0,3,22,23,27,29,31,33,38,43,47,59,69,91,96,100,107,116,119,125,129,133,134,141,146,153,154,159,164,180,192,235,242,247,338,344],shorten:[42,46,125,252],shorter:[40,61,104,108,117,118,125,132,175,205,316,317,324,337],shortest:[39,206],shorthand:[43,89,126,159],shortli:[0,22,77],shot:220,should:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,19,20,22,23,24,25,26,27,29,31,33,34,37,38,39,40,41,42,43,46,47,48,51,55,57,58,59,60,61,62,63,64,65,66,67,68,69,72,73,74,75,76,77,80,81,82,83,85,86,88,89,90,91,93,94,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,119,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,138,139,140,144,146,148,150,152,153,154,156,158,159,160,163,164,166,167,169,170,175,177,180,182,184,187,192,195,198,199,202,203,204,205,206,209,217,218,219,220,221,230,231,233,234,241,242,246,247,249,251,252,256,259,260,261,265,266,267,271,274,278,284,287,290,291,293,295,296,299,305,306,307,308,310,311,313,316,318,319,321,322,324,325,326,328,329,330,331,337,338,339,340,342,344,345,357,360],should_join:175,should_leav:175,should_list_cmd:166,shoulddrop:[221,247],shoulder:[58,182],shouldget:[221,247],shouldgiv:[221,247],shouldmov:[217,218,219,220,221,247],shouldn:[0,13,21,22,29,41,48,58,93,126,166,180,195,198,220,298],shouldrot:337,shout:29,shove:21,show:[0,12,13,14,20,22,24,26,27,30,33,35,37,38,39,40,42,43,46,48,49,52,54,55,57,58,60,61,62,63,64,68,69,70,71,73,81,82,85,86,90,91,95,96,97,98,101,102,103,104,105,106,110,111,114,116,117,118,119,120,122,124,126,127,128,129,131,133,134,136,137,138,139,144,156,157,159,164,165,166,167,169,171,179,181,182,185,186,187,188,190,202,215,220,221,226,233,234,235,247,249,251,252,265,267,276,326,328,337,338,339,344,357],show_foot:329,show_map:49,show_non_edit:251,show_non_us:251,show_valu:190,show_version_info:267,show_warn:267,showcas:[31,111],shown:[0,4,9,22,25,29,35,41,43,49,51,54,57,62,68,109,114,121,133,138,154,157,164,166,168,170,180,182,204,206,226,232,247,267,328,329,347],showtim:62,shrink:330,shrug:46,shrunk:101,shuffl:27,shun:[26,90,108],shut:[0,4,29,43,93,100,102,104,137,144,169,247,259,261,267,269,276,277,284,285,305,308],shutdown:[12,19,31,58,93,102,105,110,144,146,169,261,267,276,277,284,305,306,318,324,328],shy:[26,61,129],sibl:[10,57,96,102],sid:[43,157],side:[0,1,11,24,36,38,43,48,49,58,73,74,83,91,105,112,119,126,127,133,137,138,144,146,148,165,167,177,179,185,212,239,246,256,264,276,277,285,288,291,292,295,306,307,308,316,318,319,321,330,335],sidestep:19,sidewai:330,sigint:267,sign:[0,14,20,46,83,90,91,106,115,123,132,164,187,247,261,316,321,345],signal:[45,93,110,139,141,142,217,218,219,220,221,262,267,290,296,298,334,364],signal_acccount_post_first_login:107,signal_account_:107,signal_account_post_connect:107,signal_account_post_cr:107,signal_account_post_last_logout:107,signal_account_post_login:107,signal_account_post_login_fail:107,signal_account_post_logout:107,signal_account_post_renam:107,signal_channel_post_cr:107,signal_helpentry_post_cr:107,signal_object_:107,signal_object_post_cr:107,signal_object_post_puppet:107,signal_object_post_unpuppet:107,signal_script_post_cr:107,signal_typed_object_post_renam:107,signatur:[33,73,154,192,260,265,267,269,270,278,287,288,290,292,295,296,316,321,328,339,340,351],signed_integ:345,signedinteg:338,signedon:279,signifi:[14,241,316],signific:[97,170],significantli:50,signup:4,silenc:[164,269],silenced_system_check:127,silent:[10,43,62,118,157,164,226,271,279],silli:[60,89,96,109],silvren:[55,90],similar:[0,11,13,20,21,22,25,33,41,48,51,55,58,64,67,68,73,77,86,89,90,96,102,106,121,125,129,136,137,140,144,154,156,170,175,180,188,205,217,218,219,220,221,235,239,247,308,319,324,328,344],similarli:[58,62,90,112,218,234],simpl:[0,2,4,5,6,9,10,13,14,15,17,25,26,28,30,31,33,35,38,39,40,41,43,46,49,50,55,56,57,58,59,60,61,64,67,69,70,73,74,76,77,81,85,86,88,89,90,91,95,96,98,100,103,105,108,109,111,112,116,117,118,119,120,122,123,124,126,132,133,135,139,159,175,179,180,181,186,187,188,189,194,199,203,204,205,206,212,213,214,215,217,218,219,220,221,223,226,231,232,233,235,236,246,247,252,259,277,286,288,322,323,328,344,354,355,357,364],simpledoor:[141,142,178],simplemu:24,simpler:[10,15,38,43,51,56,158,159,325],simpleresponsereceiv:269,simplest:[6,29,58,73,90,116,153,322,345],simpli:[5,8,11,12,13,17,20,21,22,23,25,29,31,37,38,39,40,41,47,49,51,55,58,59,61,63,71,72,73,80,81,83,85,96,102,103,104,109,112,114,118,121,123,125,127,128,131,132,138,140,144,152,153,154,170,171,175,180,186,187,196,206,213,215,217,218,219,220,221,226,232,239,247,285,316,318,322,323,327,329,344],simplic:[22,39,43,55,126,171,186,232],simplif:[45,116],simplifi:[10,69,94,100,111,116,118,192],simplist:[116,123,132,137,205,214],simul:[33,73,93,213],simultan:[58,88,116,344],sinc:[0,1,3,4,5,6,9,10,11,13,14,19,21,22,23,25,26,27,28,29,31,33,34,35,38,39,40,41,42,43,44,47,48,49,50,51,54,55,56,57,58,59,60,61,62,64,69,74,76,80,83,84,85,86,88,89,90,91,96,97,100,102,104,110,111,114,115,116,118,119,121,122,123,125,126,127,131,133,134,135,138,144,146,148,152,153,154,159,167,168,169,170,176,179,180,181,184,187,199,206,215,217,218,219,220,221,226,232,233,241,247,251,252,257,260,261,267,269,272,284,289,291,299,305,306,308,310,316,317,318,322,323,324,326,328,331,334,337,340,341,342,344,357],singl:[0,5,10,14,16,22,23,31,33,37,38,43,44,48,51,55,57,58,59,61,64,67,73,77,83,87,88,90,95,96,105,108,111,112,114,119,122,125,127,128,129,139,144,157,159,164,165,177,180,204,209,215,217,218,219,220,221,233,234,235,247,251,252,260,261,299,306,308,316,317,319,321,322,327,328,330,344,357],single_type_count:182,singleton:[84,105,115,257,260,323],singular:[58,61,247],sink:26,sint:52,sir:46,sit:[11,14,29,33,47,55,63,80,83,90,95,96,119,121,123,125,167,170,175,198,199,206,232,233,242,258,261,280,324,339,342],sitabl:125,sitat:233,site:[8,16,17,23,37,69,71,79,80,90,92,97,98,100,101,103,111,133,134,312],site_nam:59,situ:[11,318,325],situat:[0,6,11,22,33,37,42,43,46,62,76,83,86,102,105,119,125,131,153,154,159,194,334],six:[73,91,185,215],sixti:62,size:[16,24,42,49,58,97,101,108,111,137,138,141,235,269,283,321,327,329,330,334,337,344],size_limit:344,skeleton:123,sketch:[116,138],skill:[28,29,30,55,60,61,70,73,79,110,116,121,127,133,134,205,206,327],skill_combat:73,skillnam:73,skin:109,skip:[31,33,41,43,49,51,61,62,75,88,100,106,109,115,131,144,158,159,247,316,325,344],skipkei:296,skippabl:129,skull:109,sky:[102,132],slack:79,slam:188,slash:[20,38,41,55,73,116,122,232],slate:111,sleep:[10,29,33,73],slew:[61,73,75,322],slice:[119,156,321,329],slice_bright_bg:156,slice_bright_fg:156,slice_dark_bg:156,slice_dark_fg:156,slide:226,slight:[8,91,184,195],slightli:[42,62,63,79,116,123,177,187,218,234],slightly_smiling_fac:138,slip:343,slogan:9,slot:[58,134,187,188,218,220,252,344],slow:[27,116,176,213,231,235,251,280,286,321,341,344],slow_exit:[141,142,178],slower:[62,77,90,93],slowexit:213,slowli:79,slug:[175,239,318],small:[4,14,15,16,25,30,33,37,55,57,58,61,63,69,70,79,81,85,90,91,93,96,97,98,108,111,122,123,124,127,128,139,185,220,226,235,290,326,327,330,344],smaller:[13,14,16,38,101,330],smallest:[58,62,80,90,184,205,327,344],smallshield:86,smart:[41,77,91,235],smarter:109,smash:[61,226],smell:61,smelli:109,smile:[33,43,165],smith:327,smithi:29,smoothi:203,smoothli:134,smush:48,snake:136,snap:82,snapshot:131,snazzi:78,sneak:242,snetworkmethodssupportunicodeobjectsaswellasstr:94,snippet:[10,13,21,31,43,55,64,80,109,114,139,169,276,343,344],snoop:103,snuff:26,social:[55,71],socializechat:299,soft:[4,64,139,205,364],softcod:[129,139],softli:78,softwar:[36,63,90,131],solar:62,soldier:85,sole:[57,69,146],solid:[49,55,114],solo:[20,63,124],solut:[0,9,14,25,27,29,39,56,69,73,85,90,91,103,111,115,118,121,122,125,127,138,168,242],solv:[21,27,44,49,61,63,77,97,111,203,232],some:[0,3,4,5,6,8,9,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,31,33,36,37,38,40,42,43,45,46,48,49,50,51,55,57,58,60,61,62,63,64,67,69,70,72,73,74,75,77,78,79,80,82,83,85,86,87,89,90,91,94,95,96,97,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,131,133,134,136,137,138,139,144,153,154,159,161,164,165,168,169,175,176,179,180,181,186,195,198,204,205,212,215,218,219,220,221,226,230,232,233,234,235,242,247,251,252,256,269,271,276,279,305,316,318,321,322,327,328,331,334,337,338,344,357],some_long_text_output:329,somebodi:[0,138],somehow:[33,40,73,80,87,90,113,140,182,326],someon:[0,1,29,33,43,46,48,49,58,60,80,85,90,96,103,107,115,117,118,119,138,144,165,182,226,231,232,247],somepassword:23,someplac:231,someth:[0,3,4,6,8,9,10,11,12,14,20,22,23,25,27,29,30,33,38,39,40,41,43,44,46,49,51,52,56,57,58,59,60,61,62,64,65,67,68,69,70,71,72,73,75,80,82,83,85,86,89,90,91,93,95,96,102,104,107,108,109,111,114,115,119,123,125,127,128,129,133,134,135,137,138,139,144,152,154,159,165,167,170,179,180,182,189,198,204,206,213,217,218,219,220,221,232,233,234,235,242,247,252,306,318,322,328,329,338,344],sometim:[6,22,27,33,40,42,50,51,60,62,64,80,86,91,93,95,96,102,109,110,119,136,138,166],somewhat:[4,22,41,57,127,138,180],somewher:[0,12,37,43,73,80,90,109,121,125,131,159,175,239,318,344],soon:[42,61,69,72,96,100,105,127,296,344],sophist:[10,27,55,108,116],sorl:4,sorri:[80,242],sort:[3,6,11,31,39,49,59,61,64,69,73,83,84,90,105,110,112,116,117,135,140,179,190,217,218,219,220,221,233,247,252,256,316,317,318,328,344,357],sort_kei:296,sought:[144,151,175,239,247,316,318],soul:111,sound:[22,29,37,58,61,80,82,83,102,104,111,115,131,138,205,291],sourc:[0,4,9,10,12,15,16,17,20,21,22,23,27,31,36,37,46,47,55,57,60,63,64,67,68,72,75,76,79,88,89,94,96,97,108,122,127,128,130,131,134,139,141,144,146,147,148,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,175,176,177,179,180,181,182,184,185,186,187,188,189,190,192,193,194,195,196,198,199,202,203,204,205,206,209,210,211,212,213,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,238,239,241,242,245,246,247,249,250,251,252,255,256,257,258,259,260,261,264,265,266,267,269,270,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,298,299,300,302,303,304,305,306,307,308,310,311,312,316,317,318,319,321,322,323,324,325,326,327,328,329,330,331,333,334,335,337,338,339,340,341,342,343,344,345,349,350,351,352,355,357,360,363],source_loc:[25,77,96,117,232,233,235,247],source_object:[171,186],sourceforg:[280,281,291,294],sourceurl:279,south:[0,22,43,44,49,111,121,159,299],south_north:111,southeast:159,southern:111,southwest:[20,43,159],space:[9,20,21,22,25,33,35,38,41,43,46,48,49,51,57,68,80,87,91,95,102,109,111,114,116,118,126,129,137,138,151,154,159,164,165,166,167,170,171,202,205,206,221,232,247,311,318,321,322,327,328,330,343,344,347],spaceship:121,spacestart:343,spaghetti:[13,328],spam:[12,28,103,116,138,164,310],spammi:[12,116],span:[16,17,108],spanish:76,spare:[217,218,219,220,221],spatial:111,spawen:203,spawn:[47,53,55,93,120,122,137,138,141,157,159,203,218,219,249,250,251,252],spawner:[18,45,89,120,139,141,142,159,219,220,248,250,364],spd:134,speak:[0,15,19,41,43,46,60,94,96,113,117,118,126,133,165,206,247],speaker:[46,205,206],spear:109,special:[2,10,11,13,14,15,19,20,25,26,27,30,31,33,35,37,41,42,51,58,60,61,64,69,76,77,80,81,83,85,86,88,89,95,102,103,104,107,111,112,113,114,116,119,122,123,125,127,131,134,137,146,148,150,153,165,168,187,189,206,215,219,220,232,233,235,242,247,271,272,295,316,318,322,328,343],specif:[0,2,4,9,11,12,22,23,24,25,26,27,31,33,36,37,38,39,40,41,42,43,46,47,50,51,53,55,56,59,61,62,64,67,69,77,78,79,80,82,87,88,89,90,91,95,96,100,105,107,110,111,112,115,116,119,121,122,123,124,125,126,127,131,132,133,134,135,137,138,144,150,157,159,169,177,178,179,180,192,193,194,195,199,204,206,238,241,247,257,267,272,279,295,296,306,316,318,321,322,326,328,329,330,344],specifi:[3,11,12,16,19,21,22,27,29,31,38,39,43,46,49,51,54,58,62,63,68,83,84,86,88,90,91,98,100,102,103,105,109,111,112,114,115,119,123,127,134,136,150,151,159,166,170,175,180,182,183,185,187,188,192,194,195,199,203,204,206,215,218,219,220,235,241,242,247,250,251,252,257,278,304,316,319,321,322,324,327,328,331,338,339,340,344,357],spectacular:42,speech:247,speed:[11,47,62,82,86,87,93,116,134,213,252,285,319,341],spell:[15,19,28,57,60,109,112,215,220,252],spell_attack:220,spell_conjur:220,spell_heal:220,spell_nam:220,spellnam:220,spend:[39,89,91,119,217,218,219,220,221],spend_act:[217,218,219,220,221],spend_item_us:219,spent:220,sphinx:38,spin:[62,90,170],spit:[3,60,116],splashscreen:186,split:[9,25,31,33,41,58,91,104,105,111,118,121,123,131,136,138,151,167,184,232,235,249,293,308,321,322,331],split_2:138,split_nested_attr:159,splithandl:138,spoken:[0,46,72,205,206,247],spool:63,sport:87,spot:[57,64,144],spread:[70,73,109],spring:[82,124,187],sprint:213,sprofil:267,spunki:77,spyrit:24,sql:[7,36,56,57,64,86,125,139,302,364],sqlite3:[25,55,64,86,123,127,128,131,344],sqlite3_prep:305,sqlite:[23,86,128,305],sqllite:36,sqrt:39,squar:[38,39,129],squeez:86,src:[10,17,20,59,75,80,89,100,102,133,137,139,210],srcobj:[154,167],srun:271,srv:36,ssessionhandl:83,ssh:[9,25,40,55,64,83,90,94,105,110,141,142,262,275,306,307],ssh_interfac:90,ssh_port:90,sshd:103,sshfactori:287,sshprotocol:287,sshserverfactori:287,sshuserauthserv:287,ssl:[7,8,43,55,64,67,83,88,94,141,142,146,164,262,275,279,292,307],ssl_context:[288,292],ssl_interfac:90,ssl_port:90,sslcertificatefil:8,sslcertificatekeyfil:8,sslciphersuit:8,sslengin:8,ssllab:8,sslprotocol:[8,288,292],ssltest:8,sslv3:67,sta:327,stab:[29,122,232],stabil:[61,170,205],stabl:[37,40,56,60,100],stabli:[97,261],stack:[13,31,61,121,137,152,153,247,251,308,328],stackexchang:127,stackoverflow:127,stacktrac:251,staf:108,staff:[9,19,25,57,61,68,73,80,108,109,111,123,133,152,252,322],staffer:9,staffernam:9,stage:[2,36,56,61,77,111,123,131,133],stagger:279,stai:[1,31,49,51,63,90,91,121,125,126,138,235],stale:[100,125,260],stale_timeout:260,stamina:[30,190,220],stamp:[27,43,96,105,125,137,144,148,157,169,246,256,299,304,318],stanc:[116,206,247],stand:[13,17,20,21,22,25,29,38,43,49,56,61,63,72,73,80,86,90,95,96,111,116,121,122,123,127,131,133,138,165,179,206,231,247,256,261,298,319,322,324,330],standalon:[67,103],standard:[0,1,6,8,9,15,21,27,30,41,43,50,57,58,59,63,64,79,83,88,91,95,103,113,114,116,120,126,131,136,139,141,144,156,185,186,206,234,247,287,289,294,311,316,321,330,331,345,364],stanza:277,star:[43,159],stare:131,start:[0,1,2,3,4,5,7,12,13,14,15,16,18,20,21,23,25,26,27,29,31,33,34,38,39,40,41,42,43,44,45,47,48,49,50,51,54,55,57,59,60,61,62,64,65,66,67,69,70,72,73,74,75,76,77,79,80,83,84,86,87,90,91,93,95,96,97,98,101,102,103,104,105,106,107,108,109,111,114,116,119,120,121,123,124,125,127,128,130,131,132,133,136,137,138,139,144,146,151,152,158,159,164,165,166,167,168,169,170,175,179,180,185,187,188,189,190,195,205,206,215,217,218,219,220,221,226,230,231,233,235,247,249,251,256,258,259,260,261,264,267,269,271,272,277,278,279,280,284,285,286,291,292,298,304,305,308,312,317,321,322,323,324,326,328,329,330,331,337,344,347,363,364],start_all_dummy_cli:298,start_attack:231,start_bot_sess:308,start_delai:[102,116,120,121,256,261,324],start_driv:121,start_evennia:267,start_hunt:231,start_idl:231,start_index:164,start_lines1:267,start_lines2:267,start_loc_on_grid:49,start_olc:249,start_only_serv:267,start_ov:51,start_patrol:231,start_plugin_servic:40,start_portal_interact:267,start_serv:277,start_server_interact:267,start_sunrise_ev:62,start_text:215,start_turn:[217,218,219,220,221],startapp:[69,86,133,134],startclr:114,startedconnect:[264,278,279],starter:[9,136],starthour:25,startnod:[51,85,188,230,249,328],startnode_input:[51,188,230,249,328],startproduc:269,startservic:[270,312],startset:233,startswith:[41,43,84,159,170,321],starttupl:287,startup:[11,35,40,60,62,90,102,104,136,247,256,259,296,305,337,344],stat:[17,43,60,61,71,85,116,123,133,134,136,139,169,179,217,218,219,220,221,364],state:[11,13,14,31,33,42,43,50,51,55,56,64,80,95,100,102,105,110,114,116,121,122,126,127,131,137,138,144,150,152,153,156,163,171,175,212,217,218,219,220,221,226,231,233,252,256,258,259,261,267,287,316,326,328],state_unlog:163,statefultelnetprotocol:[290,298],statement:[10,13,14,27,31,42,49,51,55,58,59,83,86,94,95,96,118,119,124,226,322,343],static_overrid:[135,136,137],static_root:136,statict:[43,169],station:121,stationari:231,statist:[3,12,43,104,105,120,124,135,169,190,300,317,334],statu:[20,29,51,58,61,88,90,104,105,115,131,179,219,220,221,231,261,265,267,276,277,278,281,295,364],status:61,status_cod:269,stderr:234,stdin_open:100,stdout:[59,100,234,267,337],steadi:64,steal:[43,85,166],steer:121,step1:29,step2:29,step3:29,step:[0,4,7,8,13,14,21,23,29,31,33,36,38,39,41,43,45,46,50,51,58,63,69,73,77,82,85,86,91,97,100,102,106,108,121,122,123,126,127,128,134,138,139,158,164,180,233,261,271,283,294,298,299,308,318,322,325,326,328,329,363,364],stick:[15,33,38,43,51,63,113,157],still:[0,1,4,6,9,11,13,14,15,19,20,22,25,26,29,31,33,37,38,39,40,41,43,49,55,57,58,60,62,63,64,77,78,79,83,91,94,95,96,102,103,105,106,107,108,110,114,121,122,123,125,126,128,131,134,138,152,159,164,166,175,186,215,217,218,219,220,221,230,233,235,247,251,258,299,328,330,331,340,344],sting:111,stock:[34,55,85,101,210,357],stolen:[103,321],stone:[20,33,60],stoni:60,stop:[7,9,10,12,14,20,25,27,29,34,41,42,43,49,51,57,58,62,63,67,74,77,80,82,89,90,93,95,96,100,102,104,105,106,108,115,116,120,121,123,128,137,139,156,159,164,169,175,179,184,194,196,206,212,213,218,221,226,247,258,259,260,261,266,267,269,272,284,285,305,306,312,321,322,324,344,364],stop_driv:121,stop_evennia:267,stop_serv:277,stop_server_onli:267,stopproduc:269,stopservic:[270,312],storag:[11,13,23,28,29,33,43,47,56,64,73,85,86,96,102,125,133,138,148,169,177,198,205,235,242,246,247,251,252,256,259,261,274,310,314,316,318,323,338,339],storage_modul:323,storagecontain:102,storagescript:102,store:[0,2,9,13,15,21,23,27,28,29,31,33,34,37,39,40,41,43,44,46,47,49,50,55,56,57,58,60,61,64,69,73,75,80,82,85,86,87,89,91,95,97,100,102,104,105,112,113,115,116,119,121,123,125,127,128,131,133,134,135,136,137,138,139,144,146,148,153,156,157,159,160,162,166,167,177,179,187,188,195,202,204,205,206,210,213,214,219,223,232,233,235,241,242,246,250,251,252,253,257,258,259,260,261,267,271,272,273,274,277,279,280,281,283,291,294,299,305,306,307,308,310,312,316,317,318,319,321,323,324,325,326,327,328,329,334,338,339,340,344,357],store_kei:[261,344],store_result:48,store_tru:234,stored_obj:25,storekei:[85,261],storenam:85,storeroom:85,storeroom_exit:85,storeroom_kei:85,storeroom_key_nam:85,stori:[3,9,97,133],storm:[28,119],storypag:3,storytel:123,stove:247,str:[0,10,11,22,25,27,39,40,50,51,58,59,60,73,74,84,91,96,113,114,119,125,127,133,134,141,144,146,150,151,152,153,154,159,164,166,170,175,176,177,179,180,182,184,187,188,189,190,192,193,194,195,198,199,204,205,206,210,212,215,217,218,219,220,221,226,230,233,234,235,238,239,242,246,247,250,251,252,257,258,259,261,264,265,267,272,273,274,276,277,278,279,280,282,285,286,287,290,291,292,295,296,298,304,305,306,307,308,310,311,312,316,317,318,319,321,322,323,324,326,327,328,329,330,337,338,339,340,341,342,343,344,345,349],straight:[49,68,126],straightforward:[25,41,85,91,121,123],strang:[6,8,14,29,41,56,131,153],strangl:90,strategi:[42,221],strattr:[1,11,316],strawberri:234,stream:[106,276,280,306],streamlin:[36,179],strength:[11,57,58,60,61,73,80,116,134],stress:[93,298],stretch:111,stribg:344,strict:[10,251,321],stricter:251,strictli:[19,51,59,77,133,186,220,330],strike:[43,51,82,116,165,214,220,221],string1:344,string2:344,string:[5,9,11,12,13,15,19,20,22,23,25,27,29,31,33,34,35,38,41,42,43,49,50,54,55,57,58,59,60,62,68,71,76,82,83,84,86,87,88,89,90,93,95,96,97,104,109,111,112,113,114,115,116,119,124,125,127,129,133,134,137,138,139,141,142,144,146,148,150,151,154,157,159,164,165,166,167,168,169,170,175,176,177,179,180,182,186,188,198,199,203,204,205,206,210,211,215,217,218,219,220,221,226,230,231,235,238,239,240,241,242,246,247,250,251,252,256,259,261,267,269,272,276,279,287,290,291,293,299,304,306,308,311,316,317,318,319,320,321,322,324,325,326,327,329,330,337,338,340,341,342,343,344,345,364],string_from_modul:344,string_partial_match:344,string_similar:344,string_suggest:344,stringproduc:269,strip:[21,22,33,38,41,43,51,58,74,81,85,108,109,114,118,123,151,159,167,168,170,206,252,272,287,290,291,321,322,326,328,344],strip_ansi:[81,321,343],strip_control_sequ:344,strip_mxp:321,strip_raw_ansi:321,strip_raw_cod:321,strippabl:328,stroll:213,strong:[80,114,123,343],strongest:80,strongli:[64,73,95,124,205],strp:122,strr:204,struct:56,structur:[9,11,33,37,41,43,45,47,48,49,51,55,56,59,63,64,68,69,80,83,88,95,96,109,119,133,134,136,138,159,164,175,206,247,251,252,291,296,319,325,328,354],strvalu:[11,316,317],stuck:[51,63],studi:59,stuff:[3,9,11,21,29,31,37,38,47,49,51,57,61,67,73,80,85,96,102,105,107,109,119,138,153,159,170,189,234,261,305,350],stumbl:97,stupidli:34,sturdi:327,stutter:108,style:[3,16,20,21,27,33,37,38,40,41,45,51,55,57,58,61,79,87,95,106,111,114,116,122,124,129,138,148,154,156,167,182,183,188,199,217,234,251,326,330,344],styled_foot:154,styled_head:[33,154],styled_separ:154,styled_t:[33,154],sub:[9,11,36,37,38,57,65,69,88,90,108,109,116,119,137,138,143,149,164,166,172,178,180,206,234,236,238,240,243,252,253,262,314,320,321,343,346,361],sub_ansi:321,sub_app:133,sub_brightbg:321,sub_dblspac:343,sub_mxp_link:343,sub_text:343,sub_to_channel:164,sub_xterm256:321,subbed_chan:164,subcategori:166,subclass:[27,64,105,109,118,119,125,159,180,235,246,251,256,277,290,296,318,335,340,344],subdir:127,subdirectori:[37,127],subdomain:[8,90,103],subfold:[47,86,95,96,134,135],subhead:38,subject:[36,39,81,86,90,124,189,199],submarin:121,submenu:[106,180,249],submenu_class:180,submenu_obj:180,submiss:[188,357],submit:[17,37,103,133,188,357],submitcmd:188,submodul:291,subnegoti:291,subnet:[12,43,157],subpackag:[88,127],subprocess:[25,344],subreddit:79,subscrib:[12,33,34,41,43,53,58,64,80,115,128,132,146,164,175,176,219,261,278,309],subscribernam:164,subscript:[33,43,58,79,115,132,164,176,177,261],subsequ:[10,11,33,43,95,116,164,205,322,344],subsequent_ind:330,subset:[56,112,127],subsid:125,substitut:[51,71,87,106,247,321,343],substr:321,subsub:[166,170],subsubhead:38,subsubsubhead:38,subsubtop:[166,170],subsubtopicn:170,subsystem:[9,63,86,242],subtitl:17,subtop:[164,166,170],subtopic_separator_char:166,subtract:85,subturn:116,subword:344,succe:[61,116,185],succeed:[164,185,234],success:[73,116,123,134,144,164,175,179,185,217,218,219,220,221,226,232,233,242,251,260,267,271,318,326,338,344],success_teleport_msg:233,success_teleport_to:233,successfuli:203,successfulli:[10,28,33,36,60,77,110,111,130,144,203,232,235,247,260,267,279,311,318],suddenli:[26,97,318],sudo:[63,67,100,103],suffic:[17,57,61],suffici:[86,90,94,119],suffix:[27,97,114,321,337,344],suggest:[1,23,25,37,38,48,51,52,55,61,68,70,90,95,97,125,138,140,151,166,179,206,233,247,344],suggestion_cutoff:166,suggestion_maxnum:166,suit:[29,34,55,64,117,139,170,344],suitabl:[21,25,33,37,55,63,64,80,83,87,88,90,112,131,152,164,242,301,308,324,328],sum:[37,82,91,139,153],summar:[0,79,139],summari:[0,7,46,79,96,110,123,180],summer:187,sun:62,sunris:62,sunt:52,super_long_text:329,superfici:205,superflu:343,supersus:242,superus:[2,4,5,6,9,12,13,14,19,20,21,23,25,41,43,58,60,63,81,95,96,111,122,134,144,148,158,169,175,182,212,231,241,242,247,252,267,318,322,324],supplement:51,suppli:[10,11,27,34,37,43,51,58,59,63,68,72,74,84,88,93,102,105,109,112,114,115,116,123,127,148,153,154,157,159,164,169,170,176,180,184,186,187,190,246,247,251,256,261,278,308,318,326,331,341,344],supporst:294,support:[2,4,7,8,9,11,23,26,33,37,38,40,42,43,44,47,49,50,51,56,57,58,61,63,64,65,66,70,74,75,76,81,83,86,87,90,91,94,98,100,103,109,110,113,114,123,126,139,144,156,165,183,184,185,187,198,234,241,247,251,252,261,272,280,281,282,283,287,289,290,291,292,294,296,307,316,321,325,328,329,330,341,344,349,364],supports_set:[74,272],suppos:[0,33,51,61,76,83,109,119,138,144,180],supposedli:[67,205,291],suppress:[24,289],suppress_ga:[141,142,262,275],suppressga:289,supress:289,sur:79,sure:[0,2,4,5,8,9,11,12,13,14,15,19,20,21,23,25,28,29,30,31,33,36,37,38,41,42,43,44,49,51,57,58,60,61,62,63,67,71,72,73,75,78,80,81,86,87,89,90,91,93,95,96,97,100,102,105,106,109,110,111,112,113,115,116,118,123,125,126,127,128,131,133,134,136,137,138,140,144,146,152,153,154,156,159,167,176,180,182,196,204,205,206,211,215,220,223,231,232,233,238,241,242,247,251,252,258,267,271,277,279,284,305,311,312,313,317,318,321,323,325,328,334,340,341,343,344,360],surfac:[58,82,103],surpris:[22,39,69,80,91],surround:[31,33,43,111,116,119,129,157,231,340,344],surviv:[5,11,27,28,31,43,50,51,84,102,105,115,116,126,146,153,169,180,256,257,261,324,326,328,344],suscept:[27,56,242],suspect:133,suspend:[100,103,106],suspens:102,suspici:51,suspicion:133,svn:[36,108],swallow:[96,118,276,343],swap:[43,114,127,137,138,159,187,202,318,326],swap_autoind:326,swap_object:318,swap_typeclass:[60,125,144,318],swapcas:321,swapcont:138,swapper:318,swedish:76,sweep:102,swiftli:10,swing:[28,29,33,82],switch1:129,switch2:129,switch_map:169,switch_opt:[156,157,158,159,164,165,166,167,169,187],sword:[20,28,33,61,73,77,85,86,119,179,206,252,341,344],symbol:[14,15,33,49,75,106,108,119,215,235,329],symlink:[38,63],symmetr:330,sync:[64,83,105,131,285,290,305,306,307,308,316,325],sync_port:308,syncdata:[307,308],syncdb:127,synchron:337,syntact:[242,344],syntax:[5,6,13,14,15,21,22,23,29,33,41,43,46,48,51,55,58,60,62,76,80,91,97,114,119,123,129,134,141,142,154,158,159,166,167,170,180,185,187,188,234,242,247,267,279,306,316,318,320,321,364],syntaxerror:60,sys_cmd:152,sys_game_tim:59,syscmdkei:[33,53,141],syscommand:[141,142,149,155,247],syslog:209,sysroot:75,system:[0,2,4,5,9,10,11,19,21,22,23,26,27,28,29,31,34,36,37,38,39,40,41,44,46,47,49,53,55,56,59,60,62,63,64,67,74,75,76,77,79,81,83,84,85,86,87,90,93,95,97,102,103,104,105,107,108,109,110,111,112,114,115,119,121,122,125,126,127,128,129,131,132,134,136,138,139,140,141,142,146,148,149,150,152,154,155,156,158,166,168,170,172,175,176,177,179,180,182,186,193,194,195,196,198,199,202,203,205,206,209,210,211,215,217,218,219,220,221,230,233,235,236,239,241,242,246,247,249,252,253,267,290,296,304,314,318,322,324,327,328,337,363,364],system_command:33,systemat:39,systemctl:8,systemd:67,systemmultimatch:168,systemnoinput:168,systemnomatch:168,tab:[9,14,26,30,36,59,69,95,96,106,114,137,138,321,330,343],tabl:[0,4,13,15,43,45,46,48,53,58,59,64,69,82,88,97,111,113,114,119,125,128,134,154,156,164,166,169,188,291,310,321,327,329,330,341,344],table_char:327,table_format:156,table_lin:330,table_str:58,tablea:327,tableb:327,tablechar:[58,327],tableclos:[88,291],tablecol:330,tableopen:[88,291],tablet:16,tabletop:[58,73,79,124,217,221],tabsiz:[321,330],tabstop:343,tack:[20,119,153],tackl:37,tactic:[73,116],taction:116,tag:[9,12,13,18,20,24,27,33,45,48,51,53,55,57,58,64,73,74,86,87,88,95,96,100,109,114,119,124,125,134,136,137,138,139,140,141,142,154,156,157,158,159,164,165,166,167,168,169,170,171,175,177,179,180,181,182,183,185,186,187,188,189,193,199,202,203,204,206,209,212,213,214,215,217,218,219,220,221,226,230,231,232,233,234,239,241,247,251,252,282,296,304,314,317,318,321,324,326,327,328,329,330,341,344,364],taghandl:[112,125,319],tagkei:[241,319,324],taglin:17,tagnam:252,tagstr:[252,319],tagtyp:[112,317,319,341],tail:[76,90,100,267,337],tail_log_fil:[267,337],tail_log_funct:337,tailor:[4,69,357],take:[0,3,4,9,10,11,13,14,15,16,17,19,20,21,22,25,26,27,28,29,31,33,37,40,42,46,49,51,52,55,56,57,58,62,64,69,70,74,75,76,77,79,80,83,85,90,91,95,96,103,104,105,106,108,109,111,114,116,119,121,122,123,124,125,126,127,133,134,136,138,139,144,146,151,152,156,168,170,175,177,179,182,184,187,188,203,204,206,209,213,215,217,218,219,220,221,226,230,231,233,242,252,271,287,295,307,308,317,318,321,326,327,328,329,338,344,345],taken:[31,43,56,64,103,116,120,121,123,165,186,209,217,218,219,220,221,247,287,311,321,324],takeov:309,taladan:48,tale:3,talk:[23,27,33,34,37,40,41,43,46,58,60,90,91,131,138,164,165,179,205,206,214,233,264],talker:[55,61],talki:64,talking_npc:[141,142,178],talkingcmdset:214,talkingnpc:214,tall:[43,129,165,206],tallman:[43,165],tandem:61,tantal:14,target1:220,target2:220,target:[21,25,28,29,30,33,34,40,43,58,73,88,103,114,116,119,123,127,136,138,144,154,159,164,165,169,175,177,182,185,187,199,215,217,218,219,220,221,231,235,247,317,321,324,328,344],target_loc:[213,233,235,247],target_obj:242,targetlist:199,task:[0,27,36,40,41,91,93,94,102,110,112,138,193,195,215,260,261,344],task_handl:[141,260,344],task_id:[195,260],taskhandl:[141,142,253,344],taskhandlertask:[260,344],tast:[22,34,133],tavern:206,tax:[75,93],taylor:79,tb_basic:[141,142,178,216],tb_equip:[141,142,178,216],tb_filenam:322,tb_item:[141,142,178,216],tb_iter:322,tb_magic:[141,142,178,216],tb_rang:[141,142,178,216],tbbasiccharact:217,tbbasicturnhandl:217,tbearmor:218,tbequipcharact:218,tbequipturnhandl:218,tbeweapon:218,tbitemscharact:219,tbitemscharactertest:219,tbitemsturnhandl:219,tbmagiccharact:220,tbmagicturnhandl:220,tbodi:134,tbrangecharact:221,tbrangeobject:221,tbrangeturnhandl:221,tchar:116,tcp:[55,103],tcpserver:[40,312],teach:124,team:[33,36,61,64,70,108,131],teardown:[127,170,196,228,293,342],teaser:90,tech:79,technic:[4,6,9,10,11,19,20,23,39,40,51,64,70,83,90,108,112,114,119,125,139,141,142,178,179,222,316],techniqu:[29,139,321],tediou:[1,106,111],teenag:[21,103],tehom:[9,119],tehomcd:9,tel:[0,12,58,63,91,121,159],teleport:[12,14,20,43,58,85,122,140,159,165,233,322],teleportroom:233,televis:31,tell:[0,3,5,8,10,12,13,19,21,22,23,26,29,31,33,41,42,43,46,49,51,58,59,60,61,69,73,74,75,76,77,80,83,86,87,90,91,93,95,96,100,102,103,109,110,116,117,121,127,128,130,131,132,134,135,139,146,156,164,165,177,185,206,233,247,267,285,296,308,326],telnet:[9,15,25,30,40,43,55,63,64,75,79,83,94,100,101,103,105,110,114,137,138,141,142,169,262,275,280,281,282,283,287,288,289,291,292,294,298,306,307,343],telnet_:90,telnet_hostnam:54,telnet_interfac:90,telnet_oob:[88,141,142,262,275],telnet_port:[9,36,54,90,299],telnet_ssl:[141,142,262,275],telnetoob:291,telnetprotocol:[288,290,292],telnetserverfactori:290,temp:177,tempat:188,templat:[2,3,4,5,27,31,43,47,64,81,87,104,107,109,123,125,131,134,135,136,137,138,141,142,164,165,167,175,188,230,267,296,306,307,316,320,327,347,350,355],template2menu:[51,328],template_overrid:[4,135,136,137],template_regex:316,template_rend:107,template_str:[51,87],templates_overrid:135,templatestr:327,templatetag:[141,142,346,356],tempmsg:177,temporari:[6,11,110,122,127,131,153,177,198,217,218,219,220,221,261,328],temporarili:[20,26,31,43,51,60,90,97,102,127,164,169,195,203,226],tempt:[43,61,95,104,157],ten:[29,90,111],tend:[41,43,57,61,64,73,76,86,90,97,103,119,121,124,129,138,159,205,209],tent:[45,111,139],terabyt:25,term:[0,10,31,62,63,64,69,90,91,96,126,139,154,204,310],term_siz:[42,141],termin:[4,23,26,27,38,42,47,59,60,63,64,75,90,93,95,96,97,100,103,106,110,114,123,126,131,138,139,141,194,215,217,218,219,220,221,266,267,287,294,310],terminalrealm:287,terminals:287,terminalsessiontransport:287,terminalsessiontransport_getp:287,terrain:49,terribl:280,ters:102,test1:[11,74,330],test2:[11,33,74,114],test3:[11,330],test4:[11,330],test5:11,test6:11,test7:11,test8:11,test:[0,5,10,11,13,14,15,17,19,20,21,22,23,24,25,29,31,33,36,37,38,41,42,43,45,46,50,51,56,58,60,61,62,63,65,67,68,69,72,73,74,79,80,81,85,89,90,91,94,95,96,98,106,107,109,111,115,116,120,124,130,131,132,133,137,138,139,141,142,149,151,155,156,158,166,169,178,182,185,187,188,191,207,208,215,217,218,219,220,221,222,223,230,251,262,269,272,275,296,297,298,302,318,320,321,322,324,328,332,342,344,346,348,350,356,364],test_:127,test_about:170,test_accept:196,test_access:170,test_add:196,test_add_valid:196,test_all_com:170,test_alternative_cal:127,test_amp_in:293,test_amp_out:293,test_at_repeat:228,test_attribute_command:170,test_audit:211,test_ban:170,test_batch_command:170,test_bold:293,test_c_creates_button:303,test_c_creates_obj:303,test_c_dig:303,test_c_examin:303,test_c_help:303,test_c_login:303,test_c_login_no_dig:303,test_c_logout:303,test_c_look:303,test_c_mov:303,test_c_move_:303,test_c_move_n:303,test_c_soci:303,test_cal:196,test_cas:127,test_cboot:170,test_cdesc:170,test_cdestroi:170,test_channel__al:170,test_channel__alias__unalia:170,test_channel__ban__unban:170,test_channel__boot:170,test_channel__cr:170,test_channel__desc:170,test_channel__destroi:170,test_channel__histori:170,test_channel__list:170,test_channel__lock:170,test_channel__msg:170,test_channel__mut:170,test_channel__noarg:170,test_channel__sub:170,test_channel__unlock:170,test_channel__unmut:170,test_channel__unsub:170,test_channel__who:170,test_char_cr:170,test_char_delet:170,test_clock:170,test_color:293,test_color_test:170,test_copi:170,test_creat:170,test_cwho:170,test_data_in:293,test_data_out:293,test_del:196,test_desc:170,test_desc_default_to_room:170,test_destroi:170,test_destroy_sequ:170,test_dig:170,test_do_nested_lookup:170,test_echo:170,test_edit:196,test_edit_valid:196,test_emit:170,test_empty_desc:170,test_examin:170,test_exit:196,test_exit_command:170,test_find:170,test_forc:170,test_general_context:352,test_get:360,test_get_and_drop:170,test_get_authent:360,test_get_dis:360,test_giv:170,test_handl:196,test_help:170,test_hom:170,test_ic:170,test_ic__nonaccess:170,test_ic__other_object:170,test_ident:293,test_idl:303,test_info_command:170,test_interrupt_command:170,test_invalid_access:360,test_inventori:170,test_ital:293,test_large_msg:293,test_list:196,test_list_cmdset:170,test_lock:[170,196],test_look:170,test_mask:211,test_memplot:303,test_menu:215,test_messag:304,test_mudlet_ttyp:293,test_multimatch:170,test_mux_command:170,test_mycmd_char:127,test_mycmd_room:127,test_nam:170,test_nested_attribute_command:170,test_nick:170,test_object:170,test_object_search:127,test_ooc:170,test_ooc_look:170,test_opt:170,test_pag:170,test_password:170,test_perm:170,test_pi:170,test_plain_ansi:293,test_pos:170,test_quel:170,test_queri:[141,142,262,297],test_quit:170,test_resourc:[127,141,142,170,196,211,228,293,320,360],test_return_valu:127,test_sai:170,test_script:170,test_send_random_messag:228,test_server_load:170,test_sess:170,test_set_game_name_and_slogan:352,test_set_help:170,test_set_hom:170,test_set_obj_alia:170,test_set_webclient_set:352,test_simpl:127,test_simple_default:170,test_spawn:170,test_split_nested_attr:170,test_start:196,test_subtopic_fetch:170,test_subtopic_fetch_00_test:170,test_subtopic_fetch_01_test_creating_extra_stuff:170,test_subtopic_fetch_02_test_cr:170,test_subtopic_fetch_03_test_extra:170,test_subtopic_fetch_04_test_extra_subsubtop:170,test_subtopic_fetch_05_test_creating_extra_subsub:170,test_subtopic_fetch_06_test_something_els:170,test_subtopic_fetch_07_test_mor:170,test_subtopic_fetch_08_test_more_second_mor:170,test_subtopic_fetch_09_test_more_mor:170,test_subtopic_fetch_10_test_more_second_more_again:170,test_subtopic_fetch_11_test_more_second_third:170,test_tag:170,test_teleport:170,test_toggle_com:170,test_tunnel:170,test_tunnel_exit_typeclass:170,test_typeclass:170,test_upp:127,test_valid_access:360,test_valid_access_multisession_0:360,test_valid_access_multisession_2:360,test_valid_char:360,test_wal:170,test_whisp:170,test_who:170,test_without_migr:127,testabl:127,testaccount:170,testadmin:170,testampserv:293,testapp:133,testbatchprocess:170,testbodyfunct:228,testbuild:170,testcas:[127,293,303,335,342,352],testcmdcallback:196,testcomm:170,testcommand:51,testcommschannel:170,testdefaultcallback:196,testdummyrunnerset:303,testdynamic:127,tester:[90,119,285],testeventhandl:196,testform:327,testgener:170,testgeneralcontext:352,testhelp:170,testid:33,testinterruptcommand:170,testirc:293,testmemplot:303,testmenu:[188,328],testmixedrefer:335,testmod:308,testmymodel:127,testnnmain:170,testnod:51,testobj:127,testobject:127,testobjectdelet:335,testok:91,testregularrefer:335,testset:127,testsharedmemoryrefer:335,teststr:127,testsystem:170,testsystemcommand:170,testtelnet:293,testunconnectedcommand:170,testvalu:11,testwebsocket:293,text2html:[141,142,320],text:[0,1,2,5,7,9,10,13,14,15,17,18,21,22,24,26,30,33,34,35,37,40,43,45,46,48,50,52,53,55,56,57,58,59,60,63,68,72,73,76,77,78,79,80,81,83,85,86,87,88,90,91,95,96,97,98,100,108,109,110,111,112,118,121,123,124,126,127,131,133,137,138,139,144,146,151,154,156,157,158,159,164,165,166,167,168,169,170,171,176,177,179,180,181,182,185,186,187,188,189,190,193,195,199,202,203,205,206,210,212,213,214,215,217,218,219,220,221,226,231,232,233,234,239,242,247,249,252,256,264,265,272,278,279,282,285,286,287,290,291,295,296,306,307,308,311,312,316,317,319,321,322,324,326,327,328,329,330,338,341,343,344,345,357,364],text_:38,text_color:190,text_exit:[22,180],text_single_exit:22,textarea:[340,357],textbook:40,textbox:357,textfield:[86,133],textn:170,textstr:74,texttag:[81,126,139,364],texttohtmlpars:343,textual:39,textwrap:330,textwrapp:330,than:[0,2,4,6,8,11,13,14,16,19,23,25,26,29,31,33,35,37,38,39,42,43,46,47,49,51,52,54,55,57,58,60,61,62,64,68,69,71,73,76,80,82,86,89,90,91,93,95,97,103,104,105,106,109,110,112,113,114,115,116,119,122,123,125,126,127,128,129,131,134,135,137,138,139,144,148,151,152,153,156,157,158,159,160,164,167,169,179,180,181,184,190,195,204,205,206,213,215,217,218,219,220,221,232,234,241,247,249,251,267,293,308,313,316,317,318,321,322,328,329,330,334,337,339,340,341,343,344,347],thank:[4,102,134,138,199,312],thankfulli:133,thead:134,thei:[0,1,2,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,25,27,29,30,31,33,34,37,38,39,40,41,42,43,44,46,48,51,55,56,57,58,61,63,64,66,68,69,73,75,77,78,80,81,83,85,86,88,89,90,91,92,93,95,96,97,102,103,105,106,107,108,109,110,111,112,113,114,116,118,119,121,122,123,124,125,126,127,131,132,134,136,137,138,139,140,144,152,153,156,158,159,164,165,167,168,169,175,179,180,182,185,187,189,194,205,206,217,218,219,220,221,232,233,234,235,241,242,246,247,251,252,253,256,258,259,261,267,287,288,290,291,292,296,299,305,306,307,308,310,316,321,322,323,325,328,330,344,345,357],theirs:[116,181,189],them:[0,2,4,5,6,9,10,11,12,13,14,15,16,21,22,23,25,26,27,28,29,30,31,33,34,35,37,38,39,40,41,43,46,48,50,51,54,55,57,58,59,60,61,62,64,66,68,69,71,73,74,75,76,77,80,82,83,85,86,87,88,89,90,91,95,96,97,98,102,103,104,105,106,109,110,111,112,113,114,115,116,118,119,121,122,123,124,125,126,127,128,131,133,134,135,136,137,138,139,140,144,150,151,152,154,156,158,159,164,166,167,170,175,181,182,183,187,188,189,190,192,194,203,204,206,215,217,218,219,220,221,226,231,233,234,238,242,247,252,258,261,267,285,287,290,298,302,305,306,308,316,318,319,321,322,324,328,340,343],themat:61,theme:[61,134],themself:219,themselv:[0,11,19,21,28,31,33,43,49,51,55,58,69,72,73,80,81,85,89,97,102,107,113,119,121,123,125,127,132,138,140,159,206,247,256,259,267,317,319,340],theoret:[31,108],theori:[31,42,57,79,123,139,144,152,364],thereaft:87,therefor:[0,49,62,68,91,102,122,127,158,180,192],therein:[15,33,156,167,187,203,233],thereof:[206,247],thi:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,42,43,44,45,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,143,144,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,192,193,194,195,198,199,202,203,204,205,206,209,210,212,213,214,215,217,218,219,220,221,223,226,229,230,231,232,233,234,235,236,238,239,240,241,242,243,246,247,250,251,252,253,256,257,258,259,260,261,262,264,265,266,267,269,271,272,273,274,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,294,295,296,298,299,300,301,302,304,305,306,307,308,309,310,311,312,313,314,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,334,335,337,338,339,340,341,342,343,344,345,346,347,349,350,354,355,357,361,363],thie:51,thief:61,thieveri:[43,166],thin:[10,22,29,111,182,337],thing:[0,1,3,4,5,6,8,9,10,11,12,13,15,19,20,21,22,25,26,27,28,29,30,31,33,34,37,39,40,41,43,46,47,48,49,50,51,55,58,59,60,61,63,64,67,69,70,71,73,74,75,76,79,80,82,83,85,86,89,90,91,93,95,96,97,100,102,103,104,105,107,108,109,110,111,114,115,116,118,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,144,152,153,159,179,180,187,195,205,206,215,221,226,230,233,234,242,246,247,271,276,280,312,316,318,321,322,330,340],think:[1,20,29,31,34,37,46,48,51,55,59,61,62,67,70,73,79,81,91,94,95,96,97,109,111,112,114,115,135,138,139,308],third:[0,8,9,23,27,37,38,39,42,43,51,64,69,72,75,90,96,101,114,121,127,128,134,159,170,321,328],thirdnod:51,this_sign:309,thoma:[12,43,87,157],thorn:[11,89],thorough:26,those:[2,3,4,6,9,11,13,14,15,19,20,21,23,28,30,31,33,35,36,43,44,47,48,51,55,56,57,58,60,61,62,64,68,71,73,77,78,79,80,81,85,86,88,89,90,95,96,103,105,109,110,111,112,114,118,119,121,123,124,125,127,128,130,131,135,136,138,153,154,156,159,164,165,166,170,176,180,206,210,215,217,226,232,233,242,251,252,260,290,295,317,318,328,329,330,338,339,342,344,357],though:[2,10,11,12,13,14,15,22,23,26,27,30,31,37,39,41,51,57,59,60,62,63,64,69,72,75,79,81,89,90,91,94,96,97,100,102,103,104,110,116,119,121,122,123,126,127,128,129,130,131,138,144,154,180,181,190,217,218,220,221,233,234,247,252,316,321,328,344],thought:[23,39,61,79,80,84,138],thousand:[39,90,111,133],thread:[23,27,55,79,94,110,286,312,337,344],threadpool:[94,312],threat:103,three:[0,4,12,13,16,22,25,31,33,38,46,51,69,80,83,85,87,89,90,114,133,134,135,151,164,215,220,242,321,328],threshold:[228,310,322],thrill:85,throttl:[141,142,144,262,272,285],through:[0,1,2,5,9,13,14,17,23,25,27,30,31,33,34,38,39,40,41,44,46,48,51,52,55,56,57,58,59,60,61,62,64,68,69,70,71,76,77,80,83,85,87,88,89,90,91,93,96,97,98,99,103,104,105,106,107,108,109,110,114,116,117,119,121,122,124,136,138,139,140,141,144,153,159,164,166,170,179,187,192,210,212,217,218,219,220,221,235,240,242,246,247,257,258,261,267,269,274,283,287,290,296,299,304,306,307,317,318,322,324,327,328,329,343,344,357],throughout:[11,20,49,51,55,104,219],throughput:[175,324],thrown:116,thrust:232,thu:[14,19,31,33,39,43,44,51,54,57,58,73,80,83,86,96,108,111,114,121,122,123,125,134,135,136,156,160,181,205,242,247,261,299,313,316,317,324],thub:43,thud:189,thumb:[114,131],thumbnail:4,thunder:23,thunderstorm:122,thusli:75,tick:[23,33,38,51,64,115,131,132,139,219,231,233,261,299],ticker1:[115,261],ticker2:[115,261],ticker:[53,55,74,102,132,139,146,231,233,257,261,272,344],ticker_class:261,ticker_handl:[115,132,141,261,344],ticker_pool_class:261,ticker_storag:261,tickerhandl:[27,45,102,116,132,139,141,142,213,219,233,253,344,364],tickerpool:261,tickerpool_layout:261,ticket:94,tidbit:55,tidi:100,tie:[83,116,138],tied:[64,119,153,166,182,226,239],tier:90,ties:[49,135,161],tight:182,tightli:[103,175],tim:[182,188,190,215,217,218,219,220,221],time:[0,1,2,4,5,6,8,9,10,11,12,13,14,17,20,21,22,23,25,26,28,29,30,31,34,36,37,39,40,41,42,45,49,51,52,53,54,55,56,58,59,60,61,63,64,65,66,67,69,70,72,73,75,80,83,86,88,89,90,91,93,94,95,96,100,104,105,106,109,110,113,114,115,116,117,119,121,122,123,124,125,127,128,129,131,132,133,135,138,139,144,146,148,150,151,153,154,157,164,169,175,177,179,184,185,187,194,195,198,203,204,205,212,213,215,217,218,219,220,221,223,226,231,232,233,239,246,247,250,252,253,256,259,260,261,267,269,271,273,274,279,285,290,292,299,300,304,305,306,308,310,316,318,319,321,322,323,324,329,331,334,335,337,340,344,363],time_ev:198,time_factor:[27,62,184,331],time_format:[59,344],time_game_epoch:[27,62,331],time_to_tupl:184,time_unit:[62,184],time_until_next_repeat:102,timedelai:[29,260,342,344],timedelta:[338,345],timeeventscript:195,timefactor:62,timeformat:[337,344],timeit:93,timeout:[63,67,116,120,290,310,334],timer:[20,27,33,47,56,64,83,102,115,116,169,187,219,223,226,232,253,259,260,261,298,306,341],timerobject:102,timescript:331,timeslot:187,timestamp:[25,27,310,331],timestep:299,timestr:337,timetrac:[141,142,262,297],timetupl:62,timezon:[23,337,338,345],tini:[23,39,81],tinker:97,tintin:[24,280,281,291,294],tinyfugu:24,tinymud:[57,108],tinymush:[57,108,129],tinymux:[57,108],tip:[12,37,70,79,103,112],tire:[20,153],titeuf87:235,titl:[17,22,34,43,48,69,98,137,164,166,180,238,321,324],title_lone_categori:166,titlebar:137,titleblock:69,tlen:71,tls:8,tlsv10:67,tlsv1:8,tmp:[36,63],to_byt:344,to_closed_st:226,to_cur:219,to_displai:180,to_dupl:152,to_execut:344,to_exit:0,to_fil:209,to_init:221,to_non:247,to_obj:[144,154,247],to_object:176,to_open_st:226,to_pickl:325,to_str:344,to_syslog:209,tobox:276,toc:363,todai:[138,190],todo:58,toe:108,togeth:[0,3,8,9,14,22,29,31,33,38,43,48,49,57,58,61,64,68,71,73,83,89,90,92,116,119,122,123,124,125,126,127,131,138,150,159,161,166,187,202,203,205,206,232,233,246,252,276,295,308,321,322,341],toggl:[81,290],toggle_nop_keepal:290,togglecolor:81,toint:109,token:[71,122,287,290,322],told:[44,59,90,91,95,113,114,123,128,340],tolkien:62,tom:[43,58,87,123,129,159,165,189,206,327],tommi:[19,80,87],ton:[57,82],tone:114,tonon:[43,159],too:[0,4,6,9,11,12,13,14,17,20,21,22,25,27,29,33,38,39,41,42,43,46,47,48,49,51,57,58,59,60,61,63,69,73,80,83,84,85,91,93,96,106,114,116,121,122,123,125,128,131,133,138,157,159,178,215,220,226,241,272,276,310,312,322,327,328,329,330,341,344],took:[127,344],tool:[4,6,7,8,23,29,53,57,62,63,64,86,90,96,100,108,109,111,112,114,119,136,139],toolbox:79,tooltip:137,top:[5,9,13,22,26,29,31,33,38,39,47,48,50,52,57,58,59,60,63,68,69,75,79,85,93,95,96,101,102,104,110,111,112,117,123,125,130,131,133,134,138,139,148,153,177,180,182,184,202,206,215,234,235,239,246,256,267,309,316,318,319,322,329,330,337],topcistr:238,topic:[4,10,20,31,33,40,42,43,55,68,69,86,93,94,105,119,126,166,217,218,219,220,221,238,341,357],topicstr:238,tostr:276,total:[27,43,62,80,82,91,93,102,104,105,114,118,139,169,185,304,329,330,331],total_num:334,touch:[8,38,54,60,96,97,103,104,114,310],tour:91,toward:[22,33,40,42,91,102,111,190,221,231],tower:[111,187,233],trac:94,trace:[83,96,195,304,328],traceback:[6,13,27,57,60,95,97,102,110,114,123,127,133,135,195,202,250,276,318,322,337,344],tracemessag:304,track:[11,27,30,49,57,61,64,73,77,82,86,95,98,99,100,102,105,116,121,128,132,133,138,144,153,175,221,257,278,279,284,287,290,305,310,325,326,338],tracker:[43,61,70,131],trade:[46,179],tradehandl:179,trader:46,tradetimeout:179,tradit:[10,15,36,73,74,83,90,103,114,116,138,235,290,306,329],tradition:[57,83],traffic:[8,103,280],train:79,traindriv:121,traindrivingscript:121,training_dummi:73,trainobject:121,trainscript:121,trainstop:121,trainstoppedscript:121,trait:[27,38,73,252],transact:179,transfer:[85,133,153,278,288,292,330],transform:36,transit:[89,124],translat:[14,40,45,79,87,88,113,114,126,205,206,252,269,321],transmiss:209,transmit:113,transpar:[67,105,126,137,138,246,261],transport:[276,287,296],transportfactori:287,transpos:126,trap:[14,82,122],traumat:51,travel:[49,82,83,88,96,213,235],travers:[11,44,49,80,85,89,121,212,213,231,232,235,241,247],traverse_:33,traversing_object:[212,213,235,247],travi:[45,139,364],tre:43,treasur:[9,235],treat:[10,14,33,64,95,96,105,111,112,119,125,138,144,150,153,189,247,252,308,328,330,341],tree:[3,11,33,38,43,47,51,61,63,64,77,80,96,131,140,180,206,215,234,247,252,267,296,312,328,344],tree_select:[141,142,178],treestr:215,treshold:334,tri:[11,12,14,24,29,33,43,51,58,61,80,83,87,90,91,105,107,113,116,119,133,138,151,169,179,181,188,232,233,271,310,344,345],trial:[94,106,293],tribal:111,trick:[8,22,51,79,138,318,357],tricki:[109,126,127,138],trickier:[9,69],trigger:[21,24,31,33,36,42,46,49,51,56,57,69,74,83,84,89,100,105,107,114,115,116,117,118,121,134,135,138,144,146,150,151,154,156,170,180,198,226,231,233,246,247,252,261,269,272,276,298,305,309,324,328],trim:321,trip:96,tripl:[27,38,96,114,344],trivial:[27,33,40,42,91,93,138],troll:12,troubl:[5,8,9,23,41,46,58,63,70,75,91,105,131,139,316,363],troubleshoot:9,troublesom:[12,13,14],trove:9,truestr:188,truli:[0,12,39,41,105,187],trust:[19,43,51,57,169,322],truth:42,truthfulli:33,truthi:260,try_num_differenti:151,ttarget:116,tto:290,ttp:43,tty:[9,100],ttype:[55,141,142,262,275,287,290],ttype_step:294,tuck:111,tun:[43,159],tune:[67,126],tunnel:[0,20,22,44,49,58,121,159,292],tup:[39,206],tupl:[11,39,41,42,43,51,59,60,80,86,87,88,90,109,116,119,134,141,144,151,157,159,164,167,176,179,180,184,185,189,192,206,219,220,230,235,241,242,247,251,252,261,264,276,277,287,288,292,299,306,308,316,319,321,323,324,326,328,331,337,339,344],tupled:337,turbo:75,turkish:144,turn:[0,10,12,27,31,33,38,41,43,50,51,57,58,64,66,77,79,80,81,83,88,90,96,102,105,107,110,111,114,117,118,121,122,126,127,131,133,135,138,139,144,154,164,169,170,175,198,206,215,217,218,219,220,221,231,233,247,252,267,272,280,287,290,298,308,314,318,322,324,328,329,330,344,347,364],turn_act:116,turn_end_check:[217,218,219,220,221],turnbattl:[141,142,178],turnchar:219,tut:[122,233],tutor:230,tutori:[3,4,10,16,17,20,22,25,26,28,29,31,32,33,35,37,39,41,42,45,48,49,51,55,57,58,60,61,63,64,70,71,77,79,81,82,90,91,95,102,111,112,114,115,126,133,135,139,180,213,218,232,233,363,364],tutorial_bridge_posist:233,tutorial_cmdset:233,tutorial_exampl:[13,14,20,102,141,142,178],tutorial_info:233,tutorial_world:[20,22,63,122,141,142,178],tutorialclimb:232,tutorialevmenu:230,tutorialobject:[231,232],tutorialread:232,tutorialroom:[231,233],tutorialroomcmdset:233,tutorialroomlook:233,tutorialweapon:[231,232],tutorialweaponrack:232,tutorialworld:[232,233],tweak:[8,9,25,57,58,67,97,102,109,117,119,125,138,144,170,226,312,321],tweet:[124,139,364],tweet_output:120,tweet_stat:120,tweetstat:120,twenti:58,twice:[25,51,62,116,195,221,328],twist:[10,27,29,33,40,63,72,75,79,97,103,247,260,264,267,269,270,276,277,278,279,284,287,290,293,295,296,298,305,308,312,337,364],twistd:[63,106,110,284,305],twistedcli:40,twistedmatrix:94,twistedweb:103,twitch:[41,116],twitter:[7,55,120,139,364],twitter_api:71,two:[0,4,11,13,14,15,16,19,22,23,25,26,27,28,29,31,33,34,38,39,40,41,43,44,46,47,49,50,51,57,58,64,65,67,68,69,73,74,76,80,83,84,85,86,88,89,90,91,92,95,97,100,102,103,104,105,108,109,110,111,112,113,116,119,121,122,123,125,126,127,129,131,133,134,135,137,138,139,140,152,159,164,175,177,179,180,185,199,204,212,213,215,219,221,226,233,234,247,249,267,296,307,308,317,319,322,328,330,337,344,345,364],twowai:[43,159],txt:[9,38,40,50,75,78,90,96,146,205,283,291,326,328],tying:[90,347],typclass:206,type:[0,8,12,14,16,17,19,20,21,22,24,25,26,27,28,29,31,33,34,35,37,38,41,42,43,44,46,47,49,50,51,55,56,57,58,59,61,62,64,73,75,77,79,80,81,82,83,86,87,88,90,91,95,96,97,102,103,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,128,133,137,138,139,144,146,154,159,164,166,169,170,171,175,176,177,180,182,186,188,192,195,198,199,206,213,217,218,219,220,221,226,232,233,234,239,241,242,246,247,251,252,260,261,265,267,269,270,278,279,285,287,288,290,291,292,294,295,296,298,306,308,312,316,317,318,319,321,322,324,325,328,329,330,339,340,341,344,351,357],type_count:182,typecalass:316,typecalss:195,typeclass:[0,2,5,9,11,12,13,20,21,22,25,26,27,33,34,39,44,47,48,49,56,58,60,61,62,66,69,73,76,77,80,82,83,84,85,89,91,96,102,105,107,109,111,112,116,117,118,120,121,122,123,127,132,133,134,139,141,142,144,146,147,148,153,159,164,169,175,176,177,178,182,187,191,194,195,198,203,206,212,213,214,217,218,219,220,221,226,233,235,238,242,245,246,247,251,252,255,256,257,259,261,305,323,324,341,342,344,360,364],typeclass_path:[43,102,119,125,148,159,256,317,318],typeclass_search:317,typeclassbas:96,typeclassmanag:[147,176,245,255],typedobject:[41,125,148,154,177,206,235,246,247,256,316,317,318,319,339,344],typedobjectmanag:[176,238,317],typeerror:[42,185,296],typenam:[22,144,146,148,175,177,179,182,184,187,189,195,203,204,205,206,212,213,214,217,218,219,220,221,223,226,231,232,233,235,239,246,247,251,256,259,274,300,316,318,331,334,335],typeobject:319,types_count:182,typic:[27,55,91,127,220,221],typo:[37,38,70,103,363],ubbfwiuvdezxc0m:37,ubuntu:[8,63,67,90,97,103,131],ufmboqvya4k:133,ufw:103,ugli:[56,109,137,338],uid:[100,148,279,286,307,308],uio:[57,79],uit:[22,180],ulrik:58,ultima:79,umlaut:15,unabl:[71,190],unaccept:33,unaffect:[51,116,219,260],unalia:164,unarm:218,unarmor:218,unassign:138,unauthenticated_respons:360,unavoid:115,unban:[12,157,164,170,175],unban_us:164,unbias:185,unbroken:327,uncal:260,uncas:321,uncategor:341,unchang:[87,97,127,205,252,344],unclear:[30,363],uncolor:[81,114],uncom:[67,90],uncommit:131,uncompress:280,unconnect:[43,171,186],uncov:182,undefin:[36,86,112],under:[6,9,20,24,33,36,38,41,42,43,46,48,51,57,60,61,63,64,73,75,77,78,79,86,93,100,106,108,110,119,122,123,125,128,133,134,135,136,137,154,156,159,188,215,234,242,259,267,294,316,321,328,329,330,344],undergar:182,undergon:195,underli:[57,61,64,80,119,124,131],underlin:[330,343],underneath:[9,318],underscor:[0,38,51,74,88,95,97,114,119,152,344],underscror:152,understand:[4,10,15,24,25,26,29,30,31,33,37,38,39,41,42,44,48,49,55,60,61,63,79,81,83,91,95,96,103,104,105,109,111,113,114,123,124,127,131,133,134,136,139,151,152,164,204,205,206,312,321,344,364],understood:[83,91,111,127,295,296],undestand:25,undo:[50,103,326],undon:[43,156],undoubtedli:57,unexpect:[91,126,127,328],unexpectedli:334,unfamiliar:[63,74,80,88,90,118,124],unformat:[51,328,331],unfortun:[4,41,61],unhandl:60,unhappi:9,unhilit:343,unicod:[15,83,94,113,144,321,344],unicodeencodeerror:321,unicorn:119,unifi:[133,307],uniform:105,uninform:8,uninstal:63,uninstati:344,unintent:234,union:[31,51,152,226,328],uniqu:[2,12,13,20,31,33,35,36,38,40,43,46,51,55,57,60,61,64,71,80,83,84,90,95,96,102,105,109,112,119,123,125,127,137,138,144,150,152,154,159,164,169,171,175,176,181,184,186,194,204,205,206,212,215,218,219,231,233,238,247,251,252,261,264,276,277,285,298,299,307,308,316,317,318,319,324,326,338,341,344],unit:[27,31,34,36,37,45,47,55,62,64,79,82,107,124,130,139,176,184,198,219,269,324,331,344,350,364],unittest:[25,127,170,308,324,342],univers:[14,15,43,62,164],unix:[24,38,43,52,63,87,165,234,329,337,344],unixcommand:[141,142,178],unixcommandpars:234,unixtim:337,unjoin:179,unknown:[41,43,56,69,137,251,344],unleash:28,unless:[4,5,11,12,21,22,23,27,29,33,38,43,51,72,78,80,84,88,89,90,96,102,110,115,123,138,140,144,152,153,157,159,164,167,170,175,194,204,205,206,221,232,241,242,247,252,265,280,296,308,316,318,341,344,345],unlik:[37,51,64,73,90,107,127,144,180,219,318],unlimit:235,unlink:159,unload:342,unload_modul:342,unlock:[58,77,80,164,316],unlocks_red_chest:80,unlog:[43,157,162,163,171,186,308],unloggedin:[105,141,142,149,155,308],unloggedincmdset:[35,43,105,163,186],unlucki:12,unmask:206,unmodifi:[151,168,187,328],unmonitor:272,unmut:[164,175],unmute_channel:164,unnam:[112,152],unneccesari:113,unnecessari:[36,61],unneed:235,unpaced_data:276,unpack:[91,241],unpars:[74,87,151,295,296],unpaus:[100,102,169,260],unpickl:[83,276,316,325,340],unplay:[25,105],unpredict:344,unprivileg:252,unprogram:73,unpuppet:[43,96,107,123,156],unpuppet_al:144,unpuppet_object:[2,144],unquel:[20,43,80,122,156],unreal:79,unrecord_ip:310,unregist:135,unrel:[51,131],unrepat:344,unrepeat:[272,344],unreport:272,unsaf:[110,152,233],unsatisfactori:111,unsav:326,unsel:85,unset:[33,49,58,89,116,157,170,206,231,242,247,251,252,261,324,328,329,330,337],unset_lock:164,unsign:345,unsigned_integ:[338,345],unsignedinteg:338,unstabl:100,unstrip:151,unsub:164,unsub_from_channel:164,unsubscrib:[43,58,115,164,261,278],unsuit:[19,251,319],unsur:[15,37,63,71,76,90,116,138,213],untag:137,untest:[24,61,63,127],until:[5,8,10,11,12,13,20,26,29,30,31,33,36,48,51,61,63,64,86,87,93,95,97,102,114,115,119,123,126,131,136,137,138,139,179,182,184,198,217,218,219,220,221,226,231,232,233,247,260,267,296,298,321,322,331,344],untouch:321,untrust:[13,344],unus:[33,81,144,150,154,164,175,187,215,221,233,247,259,290,306,311,317],unusu:[103,119],unwant:139,unwield:218,unwieldli:153,upcom:54,updat:[2,4,5,8,9,11,13,14,20,23,24,28,29,30,33,36,38,39,43,45,49,51,55,57,58,61,62,63,64,68,71,73,75,76,79,81,83,84,86,88,89,90,91,95,97,98,100,102,115,116,123,127,133,134,135,136,137,138,139,146,153,154,159,164,167,169,170,175,183,187,195,206,220,233,239,242,246,247,249,250,252,257,283,285,286,291,305,306,308,310,316,318,325,326,327,328,329,330,334,344,357,360,364],update_attribut:316,update_buff:326,update_cached_inst:334,update_charsheet:58,update_current_descript:187,update_default:305,update_flag:306,update_po:49,update_session_count:306,update_undo:326,update_weath:233,updated_bi:192,updated_on:192,updatemethod:[137,138],upfir:106,upgrad:[63,64,75],upload:[4,63,64,90,100],upon:[14,29,61,80,86,90,96,100,103,113,117,123,188,210,217,218,219,220,221,258,269,278,310,329],upp:233,upper:[29,39,43,86,101,114,127,138,156,321],uppercas:[114,321],upping:114,ups:7,upsel:90,upsid:[41,235],upstart:40,upstream:[26,64,104,128],upt:153,uptim:[12,27,43,62,169,281,331],urfgar:109,uri:[175,239,318],url:[8,38,43,64,70,90,98,131,134,135,136,138,141,142,146,164,175,239,286,296,312,318,343,346,353,356],url_nam:360,url_or_ref:38,url_to_online_repo:131,urlencod:69,urlpattern:[3,4,69,133,134,135],usabl:[4,43,66,114,123,159,180,190,219,241,310,328],usag:[0,5,12,21,22,23,28,29,30,33,38,41,42,43,51,58,60,64,68,71,73,81,82,85,90,91,93,94,109,115,116,119,121,123,124,129,154,156,157,158,159,164,165,166,169,170,171,179,180,181,182,184,185,186,187,188,189,199,202,203,205,206,210,212,213,214,217,218,219,220,221,226,230,231,232,233,234,235,241,250,260,267,328,330,334],use:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,26,27,28,29,31,33,34,35,36,37,38,39,40,41,42,43,46,47,48,49,50,51,52,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,76,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,98,100,102,103,104,105,106,107,108,109,111,112,113,114,116,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,144,146,148,150,151,152,153,154,156,159,160,164,165,167,169,170,175,177,179,180,181,182,185,187,189,190,194,198,199,202,203,204,205,206,212,214,215,217,218,219,220,221,223,226,230,231,232,233,234,235,241,242,246,247,251,252,260,261,265,272,276,289,291,292,295,298,299,306,307,308,316,317,318,319,321,322,323,324,326,327,328,329,330,334,337,338,340,344,345],use_dbref:[206,247,341],use_destin:247,use_i18n:76,use_item:219,use_nick:[144,206,247],use_required_attribut:357,use_success_location_messag:203,use_success_messag:203,use_xterm256:321,useabl:235,used:[0,2,3,7,9,10,11,13,15,16,17,19,20,22,23,24,27,29,30,31,34,35,38,40,41,43,46,47,48,50,51,52,54,55,56,57,58,59,60,62,63,64,67,68,69,72,73,74,79,80,82,83,84,85,86,87,88,89,90,91,93,94,95,96,100,102,103,104,105,107,108,109,110,111,112,113,114,115,116,118,119,120,121,122,123,124,125,126,127,128,129,131,133,134,135,136,137,139,141,144,146,150,152,153,154,156,159,164,166,167,168,169,170,175,179,180,182,184,186,187,188,189,190,192,194,195,198,199,204,205,206,213,215,217,218,219,220,221,226,231,232,233,234,235,238,240,241,242,247,251,252,259,260,261,262,264,265,269,272,273,276,277,278,279,280,281,282,283,284,285,287,289,290,291,294,295,296,299,306,308,309,316,317,318,319,320,321,322,324,325,326,328,329,330,337,338,339,340,341,344,345,350,357,363],used_kei:80,useful:[0,1,4,5,10,11,12,13,14,15,16,17,18,19,20,22,23,25,26,27,28,29,30,31,34,36,37,38,39,41,42,43,46,47,48,50,51,53,57,58,59,60,63,64,66,69,70,80,81,87,89,90,91,93,95,96,102,104,107,109,110,111,112,114,115,116,119,120,123,124,125,127,131,132,133,138,139,150,152,153,154,156,158,159,166,167,170,175,178,179,180,194,195,199,205,206,210,226,233,234,235,241,247,251,252,267,287,316,318,322,328,331,340,344],useless:231,user:[2,4,7,8,10,11,12,13,14,20,22,23,25,28,29,30,31,35,36,37,38,40,41,42,43,49,50,51,52,55,60,63,64,65,66,67,68,70,71,72,74,75,76,77,79,80,81,85,87,88,90,91,93,95,97,98,100,101,104,105,107,109,113,114,119,121,122,123,125,126,127,133,134,135,136,137,138,139,144,146,148,151,154,157,159,164,166,169,170,175,176,177,180,182,187,189,193,195,206,209,210,215,219,221,233,235,239,242,247,252,259,262,265,271,279,286,287,290,295,296,306,308,311,316,318,321,326,328,329,330,338,344,345,347,349,357,364],user_input:51,user_permiss:148,userauth:[94,287],usercreationform:357,usernam:[2,4,12,35,51,74,100,107,119,131,134,144,148,186,287,311,349,357],username__contain:119,usernamefield:357,userpassword:[12,157],uses:[0,5,9,13,15,16,17,22,23,29,30,31,33,34,38,39,40,44,57,64,68,69,80,81,86,88,90,94,98,107,109,112,113,114,115,119,124,125,127,130,131,136,137,152,170,179,185,187,199,205,206,219,233,234,235,242,256,261,276,296,310,316,319,337,338,344,347],uses_databas:344,using:[2,4,5,6,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,36,37,38,39,41,43,45,46,47,49,50,51,53,55,56,57,58,59,60,61,62,63,64,67,68,70,71,72,73,74,77,78,79,80,81,83,85,86,87,88,89,90,91,93,95,96,97,100,101,102,103,105,107,108,109,110,111,112,114,115,116,117,118,120,121,122,123,124,125,126,128,129,131,132,133,134,137,138,139,140,144,148,150,153,154,156,158,159,164,167,168,169,170,175,179,180,181,184,185,187,188,190,194,203,205,206,212,213,214,215,217,218,219,220,221,230,231,233,234,235,242,247,250,251,252,256,260,261,278,279,280,285,286,290,296,299,308,309,310,312,316,318,319,321,322,326,328,329,331,337,338,339,340,341,342,344,346,357,363,364],usr:[63,64,75,100],usual:[0,2,4,5,6,8,9,11,19,20,21,22,23,25,26,27,29,30,31,33,34,37,38,40,41,43,46,47,50,51,52,57,59,60,62,63,64,67,72,74,80,81,87,89,90,91,93,95,96,97,100,102,105,106,109,110,112,114,115,119,124,125,126,127,131,133,136,144,146,151,152,153,154,156,159,164,165,169,170,177,184,194,195,198,204,205,206,233,234,242,246,247,252,267,269,274,299,306,316,318,321,323,324,328,329,337,339,341,344],utc:[23,345],utf8:[23,36,70],utf:[15,24,58,74,111,113,272,278,295,330,344],util:[8,10,11,13,14,16,34,41,45,47,48,49,50,51,52,57,58,59,62,63,81,82,85,86,89,96,97,102,103,111,114,117,124,127,133,134,137,139,141,142,158,170,175,177,178,184,187,188,191,195,196,211,213,220,226,228,230,239,247,249,251,259,260,274,293,298,316,317,318,346,357,360,364],utilis:328,uyi:205,v19:63,vagu:21,val:[11,88,144,156,291,344],valid:[1,11,13,26,30,31,33,42,43,44,51,58,60,67,69,88,89,90,91,95,96,97,102,103,109,110,114,119,123,133,134,141,142,144,151,153,159,167,170,175,176,179,180,188,192,195,196,204,206,215,220,232,233,234,235,242,247,249,251,252,257,259,260,261,262,265,267,291,295,306,316,317,319,322,324,328,338,339,340,341,343,344,345,357],valid_handl:338,validate_email_address:344,validate_nam:247,validate_onli:242,validate_password:[51,144],validate_prototyp:251,validate_sess:308,validate_usernam:144,validationerror:[144,251,311,338,340],validator_config:144,validator_kei:338,validatorfunc:[141,142,320],valign:330,valu:[0,2,4,6,10,11,12,17,20,22,25,27,28,31,33,39,41,42,43,49,50,58,59,60,61,62,64,67,69,73,74,77,80,81,82,84,85,86,87,88,90,97,102,111,114,115,116,123,125,126,127,128,133,134,137,138,139,144,148,150,152,154,156,157,159,170,175,177,180,182,185,188,189,190,192,195,196,203,204,205,206,211,217,218,219,220,221,228,233,235,239,241,242,246,247,250,251,252,256,260,261,265,272,273,274,276,285,290,291,306,307,308,313,316,317,318,319,321,323,324,325,326,327,328,334,335,338,339,340,341,344,345,350,357],valuabl:122,value1:109,value2:109,value_from_datadict:340,value_to_obj:251,value_to_obj_or_ani:251,value_to_str:340,valueerror:[41,91,109,123,180,202,204,316,319,321,324,344,345],valuei:111,values_list:119,valuex:111,vanilla:[9,26,49,56,58,86,101,125],vaniti:51,vari:[30,40,60,64,82,108,114,125,131,193,205,221,306,316,318],variabl:[0,3,5,11,13,28,31,33,38,41,43,46,49,51,55,56,58,64,66,69,80,83,88,91,95,96,97,100,103,104,106,109,113,121,124,133,134,135,137,138,144,148,150,154,156,159,164,167,169,170,175,183,187,188,192,194,195,198,203,233,241,246,247,251,252,264,267,277,280,281,283,287,289,299,306,313,321,322,328,344,350],variable_from_modul:344,variable_nam:[192,195],variablenam:344,varianc:205,variant:[11,55,112,153,180,186,213,278,321],variat:[62,73,116,152,187,205,344],varieti:[55,82,116,120,219,220],variou:[5,6,11,15,33,37,40,41,46,47,48,53,57,62,67,69,73,77,81,88,89,90,93,94,97,102,103,105,109,110,112,114,115,116,123,124,125,127,137,139,152,168,184,205,206,215,219,220,226,231,232,242,246,247,252,253,261,299,324,330,341,342,347],varnam:291,vast:[23,60,86,108,111,119],vastli:64,vcc:205,vccv:205,vccvccvc:205,vcpython27:9,vcv:205,vcvccv:205,vcvcvcc:205,vcvcvvccvcvv:205,vcvvccvvc:205,vector:344,vehicl:[21,124,139,364],velit:52,venu:[131,176],venv:[63,75],verb:[25,247,303],verbal:247,verbatim_el:344,verbos:[26,38,116,127,206],verbose_nam:[133,318],veri:[0,2,4,5,6,8,9,10,11,13,14,17,20,21,22,23,26,27,28,29,31,33,35,37,38,39,40,41,42,46,49,50,51,52,55,56,57,58,60,61,64,67,68,70,72,73,74,77,78,79,80,85,86,88,90,91,93,95,96,97,104,107,108,109,110,111,112,114,115,116,119,121,122,123,125,127,128,129,131,132,134,137,138,139,140,144,146,152,154,170,175,177,180,182,194,195,204,205,206,212,213,214,215,220,231,234,235,238,246,251,271,317,319,324,326,328,344],verif:90,verifi:[36,51,63,90,131,159,170,188,220,292],verify_online_play:188,verify_or_create_ssl_key_and_cert:292,verify_ssl_key_and_cert:288,verifyfunc:188,versa:[40,43,61,88,105,116,164,276],version:[2,4,7,11,13,14,20,21,23,24,29,30,31,33,35,36,37,41,43,47,51,54,57,60,61,63,64,74,75,76,79,81,86,87,90,91,95,96,100,108,111,114,123,124,125,126,128,136,137,139,159,167,169,171,181,182,186,187,206,218,219,220,221,226,232,247,252,267,272,286,310,316,321,329,344,357,363,364],version_info:267,versionad:38,versionchang:38,versu:55,vertic:[138,232,330,344],very_strong:242,very_weak:80,vest:103,vet:109,veteran:79,vfill_char:330,via:[10,11,27,37,40,51,52,55,56,57,63,70,73,74,83,85,86,90,92,93,101,103,108,109,114,119,123,125,126,131,137,172,176,177,209,226,246,256,316,319,321,335],viabl:231,vice:[40,43,61,88,105,116,164,276],vicin:[33,43,165,187,233],video:[79,95,114,137],vienv:9,view:[1,4,17,27,34,38,41,42,43,50,51,52,55,58,60,63,64,72,80,82,86,90,96,101,102,110,111,115,116,123,124,131,136,139,141,142,144,156,157,159,164,165,169,175,182,206,217,218,219,220,221,235,239,247,249,302,318,329,346,347,350,353,356,357,364],view_attr:159,viewabl:[53,55,166],viewer:[25,38,69,206,235,247,318],viewport:42,vim:[14,50,79,326],vincent:[41,180,187,204,234],violent:51,virtual:[4,41,43,55,57,59,63,79,90,124,169,187,331],virtual_env:75,virtualenv:[9,23,26,36,38,63,75,76,90,93,95,96,97,100,106,110,128],virtualhost:8,viru:63,visibl:[13,25,31,36,38,43,48,54,61,63,67,69,81,90,96,105,114,123,125,131,139,165,206,247,279,312,328,344],vision:[11,58,61],visit:[22,49,90,111,133,134,234,328],visitor:[103,134,135],vista:63,visual:[25,57,63,93,114,137,144,166,190,363],vital:91,vlgeoff:184,vlovfgjyq2qvcdougpb6c8due7skt:70,vniftg:63,vnum:56,vocabulari:[46,344],voic:[33,46,124,139,364],volatil:251,volum:[21,61,100,111],volund:119,voluntari:37,volupt:52,vowel:[119,205],vpad_char:330,vulner:[29,103],vvc:205,vvcc:205,vvccv:205,vvccvvcc:205,vwcukflrfii:133,vwcukgy84ri:133,vwcukjfxeii:133,vwculn152ti:133,w001:127,w267:133,w321:133,w425:133,w607:133,wai:[0,2,5,6,9,10,11,12,13,14,15,19,20,21,22,23,27,28,30,31,33,37,38,39,40,41,42,43,44,46,48,49,54,55,56,57,58,61,62,63,64,68,69,70,72,73,74,75,79,80,82,83,84,85,86,87,88,89,90,91,92,93,95,96,97,98,102,103,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,136,138,139,140,144,151,152,159,166,175,179,184,185,187,188,190,194,198,205,212,213,215,217,218,219,220,221,226,230,231,232,234,242,247,251,261,267,272,276,287,308,310,312,313,314,317,319,322,327,328,330,334,337,340,364],wail:49,waist:182,wait:[0,10,20,25,27,28,29,33,42,51,102,121,138,146,194,198,217,218,219,220,221,226,267,277,296,298,310,324,328,344],wait_for_disconnect:277,wait_for_server_connect:277,wait_for_statu:267,wait_for_status_repli:267,waiter:267,wake:188,walias:[43,159],walk:[0,14,21,31,39,46,49,60,62,85,139,213,214,215,226,235,322],walki:64,wall:[111,157,165,187,232,233],wanna:[37,179,226],want:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,37,38,39,40,41,42,43,44,46,48,49,50,51,54,57,58,60,61,62,63,64,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,102,103,104,105,106,107,108,109,110,111,113,114,115,118,119,121,122,123,125,126,127,128,131,132,133,134,135,136,137,138,140,144,152,153,154,156,165,170,179,180,186,187,188,190,204,206,209,215,217,218,219,220,221,226,233,235,241,242,247,252,259,261,283,285,291,298,308,313,316,318,326,328,329,334,340,344,357,363],wanted_id:80,warchannel:164,ware:85,warehous:[209,322],wari:[114,235,247,318],warm:[102,110,271],warn:[8,23,27,31,59,60,63,64,90,91,93,104,105,111,128,134,138,140,152,175,210,266,267,292,337],warnmsg:337,warrior:[28,57,58,61,122,123,164],wasclean:[278,295],wasn:[0,42,134],wast:[6,14,115],watch:[14,84,106,139],water:[153,203],waterballon:203,wave:111,wcach:[43,169],wcactu:220,wcommandnam:234,wcure:220,wdestin:[43,159],weak:252,weakref:334,weaksharedmemorymodel:[274,334],weaksharedmemorymodelbas:[274,334],weakvalu:334,wealth:85,weapon:[29,51,61,64,73,77,82,85,86,109,116,122,218,231,232,252],weapon_ineffective_msg:231,weapon_prototyp:232,weaponrack_cmdset:232,wear:[82,182,206,218,226],wearabl:182,wearer:182,wearstyl:182,weather:[30,61,73,102,111,112,115,122,124,139,140,233,364],weather_script:102,weatherroom:[132,233],web:[4,8,9,16,17,23,25,30,38,47,53,55,57,61,63,64,67,69,72,75,76,79,80,83,94,95,101,109,110,119,139,141,142,269,271,281,285,291,295,296,306,310,312,319,325,364],web_client_url:54,web_get_admin_url:[175,239,318],web_get_create_url:[175,239,318],web_get_delete_url:[175,239,318],web_get_detail_url:[175,239,318],web_get_puppet_url:318,web_get_update_url:[175,239,318],webchargen:133,webchat:[70,79],webclient:[24,30,40,43,45,53,54,64,67,69,83,88,95,103,105,110,114,135,139,141,142,169,230,262,272,275,291,296,307,328,346,350,351,360,364],webclient_ajax:[137,141,142,262,275],webclient_en:103,webclient_opt:272,webclientdata:296,webclienttest:360,webpag:[8,17,77,90,354],webport:36,webscr:70,webserv:[3,7,8,9,23,36,40,47,55,67,90,100,101,104,135,139,141,142,262],webserver_en:103,webserver_interfac:[67,90],webserver_port:90,webservic:103,websit:[3,9,17,53,55,57,64,67,69,79,90,98,101,103,124,133,136,137,138,139,141,142,296,312,346,351,364],websocket:[40,55,64,90,100,137,278,284,295,307],websocket_client_interfac:[67,90],websocket_client_port:[67,90],websocket_client_url:[8,67,90],websocket_clos:295,websocketcli:295,websocketclientfactori:278,websocketclientprotocol:278,websocketserverfactori:284,websocketserverprotocol:295,weed:[26,119,152],week:[62,184,337,345],weeklylogfil:337,weigh:[82,298],weight:[23,38,61,108,124,139,190,205,317,364],weird:344,weirdli:96,welcom:[3,4,22,35,37,63,72,76,85],well:[2,4,6,9,11,12,16,17,19,21,22,23,25,26,33,37,38,39,40,41,43,44,45,46,49,50,51,52,55,57,58,61,62,64,66,68,69,71,74,75,81,85,88,89,91,96,98,103,104,105,106,108,109,113,116,118,119,120,123,124,125,127,128,131,133,134,135,136,138,148,152,153,154,159,164,169,172,175,179,182,187,194,202,205,206,215,219,220,221,226,231,247,256,260,262,267,276,278,279,285,302,310,316,317,321,325,328,331,340,344],went:[57,110,127,131,257,261],were:[1,10,11,13,24,31,33,37,38,42,44,51,58,59,64,69,77,82,85,86,91,100,102,104,108,109,119,123,125,126,127,137,144,151,152,153,164,175,204,215,247,251,314,318,322,341,344],weren:62,werewolf:25,werewolv:119,werkzeug:344,west:[20,25,44,49,111,159,233],west_east:111,west_exit:233,western:111,westward:233,wether:[179,324],wevennia:22,wflame:220,wflushmem:[43,169],wfull:220,wguild:164,what:[0,1,2,4,8,9,10,12,13,14,19,20,21,22,23,25,26,27,29,31,33,38,39,40,42,43,44,45,46,48,49,51,56,57,58,60,61,62,63,64,67,68,69,70,72,73,74,77,78,79,80,81,83,85,86,88,89,90,93,94,95,96,97,98,102,103,104,105,108,109,110,111,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,131,132,133,134,136,138,139,140,144,150,152,153,154,156,159,166,170,175,195,203,204,206,209,214,219,220,231,233,239,242,247,250,251,252,267,269,272,279,291,296,311,313,316,318,319,321,322,328,338,339,344,345,347,349,357,364],whatev:[2,11,14,21,22,23,27,33,40,43,46,48,51,56,58,61,64,67,78,82,89,91,100,102,111,123,127,131,133,134,138,144,146,153,159,188,220,231,232,247,252,256,257,278,287,290,295,308,316,329,338],whatnot:138,wheel:[57,63,75,115],whelp:[166,234],when:[0,2,3,4,5,6,8,9,10,11,12,13,14,15,17,19,20,21,22,23,24,26,27,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,49,50,51,52,56,57,58,59,60,61,62,63,64,65,66,67,68,69,73,74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90,91,93,95,96,97,98,100,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,136,137,138,139,141,144,146,148,150,152,153,154,156,158,159,164,165,166,167,168,169,171,175,176,177,179,180,181,182,184,185,186,187,188,189,190,195,196,198,199,202,203,204,205,206,212,214,215,217,218,219,220,221,223,226,228,230,231,232,233,234,235,238,239,242,246,247,249,251,252,256,257,259,260,261,264,267,269,273,274,276,277,278,279,280,281,282,283,285,287,288,289,290,291,292,295,296,298,299,305,306,307,308,309,310,316,318,319,321,322,324,325,326,327,328,329,330,334,335,337,339,344,347,357],when_stop:267,whenev:[6,10,11,22,25,33,46,64,66,74,76,80,84,87,90,95,98,100,102,106,107,109,111,113,117,119,128,144,153,175,231,232,233,247,257,259,269,286,306,307,308],where:[0,1,3,6,9,10,11,12,13,14,20,21,22,25,26,29,31,33,36,38,39,40,41,42,43,46,48,49,50,51,52,56,57,58,59,61,62,64,69,73,75,76,80,83,85,86,88,90,91,95,100,102,103,104,105,108,109,111,113,114,117,118,119,121,122,123,124,125,127,131,133,134,135,136,137,138,139,151,152,157,159,165,168,170,175,176,181,185,199,205,206,210,219,232,233,235,241,242,247,251,252,257,267,269,272,276,299,304,308,316,318,321,322,326,328,329,330,338,339,344],wherea:[11,12,13,19,21,26,31,33,34,40,42,55,56,61,80,81,85,86,93,97,103,105,109,113,114,116,125,128,205,261,296,316,334],whereabout:122,wherebi:220,wherev:[11,63,64,67,100,111,127,180,209,219],whether:[0,12,39,43,46,51,55,62,69,77,121,144,146,153,159,164,166,175,188,215,217,218,219,220,221,247,261,278,295,310,316,317,321,338,340,344],whewiu:9,which:[0,1,3,4,5,6,9,10,11,12,13,14,15,19,20,22,24,25,26,27,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,46,49,51,52,56,57,58,59,60,61,62,63,64,65,66,67,69,71,72,73,74,76,77,80,81,82,83,85,86,87,88,89,90,91,93,94,95,96,97,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,125,126,127,131,132,133,134,135,136,137,138,139,140,144,146,150,152,153,154,156,157,159,165,167,169,170,175,176,177,179,180,181,182,183,184,187,188,190,198,199,202,206,209,210,212,214,215,217,218,219,220,221,226,231,232,233,234,235,239,242,246,247,251,252,256,257,259,261,264,266,267,271,272,279,285,287,295,296,298,299,306,307,308,310,313,316,317,318,319,321,322,324,325,328,329,330,331,334,337,338,340,341,342,344,347,349,350,357],whichev:[27,90,103,233],whilst:[77,111],whim:139,whisp:205,whisper:[46,165,198,205,206,247],white:[48,74,114,126,321,344],whitelist:74,whitepag:[1,48,138],whitespac:[14,27,33,58,81,119,123,167,202,206,321,322,330,344],who:[4,10,11,12,21,34,41,46,49,51,55,56,58,61,73,80,87,95,103,109,114,116,119,121,123,124,125,127,132,133,138,146,154,156,159,164,175,179,188,195,205,206,217,218,219,220,221,232,239,242,247,252,318,326,328],whoever:133,whole:[4,16,43,49,51,55,57,60,61,67,87,96,111,112,122,123,129,138,152,159,169,221,330],wholist:175,whome:[43,159],whomev:[73,114,121,226],whose:[88,114,119,125,144,154,170,195,206,215,217,218,219,220,221,272,323,328,344],whould:328,why:[0,11,12,20,22,25,38,39,41,43,44,46,51,55,60,63,64,82,91,95,96,103,111,123,125,126,139,157,204,217,220,221,264,265,328],whydonttwist:94,wick:316,wide:[16,25,27,39,43,58,61,73,86,91,138,157,219,220,235,327,330,344],widen:12,wider:[12,25,39,43,157,330],widest:344,widget:[340,357],width:[16,17,25,27,33,49,74,109,111,114,141,154,272,287,306,321,326,327,329,330,344],wield:[61,82,109,218],wifi:[90,103],wiki:[1,9,33,37,43,45,48,55,58,64,70,79,94,96,108,111,116,124,125,138,180,295,363,364],wiki_account_handl:4,wiki_account_signup_allow:4,wiki_can:4,wiki_can_admin:4,wiki_can_assign:4,wiki_can_assign_own:4,wiki_can_change_permiss:4,wiki_can_delet:4,wiki_can_moder:4,wiki_can_read:4,wiki_can_writ:4,wikiconfig:4,wikimedia:37,wikipedia:[15,37,55,64,96,113,116,127,131,295],wild:[108,126,131],wildcard:[12,43,57,87,157,159,344],wildcard_to_regexp:344,wilder:[141,142,178],wildernessexit:235,wildernessmap:235,wildernessmapprovid:235,wildernessroom:235,wildernessscript:235,wildli:205,will_suppress_ga:289,will_ttyp:294,willing:[58,61,79],win10:63,win7:63,win8:63,win:[9,24,91,116,122],wind:[122,132],window:[4,23,25,31,38,44,45,49,52,64,72,76,83,88,89,93,95,96,97,101,105,106,110,128,131,137,138,154,166,267,283,306,310,329,344],windowid:306,windows10:63,wingd:111,winpti:9,winter:187,wintext:73,wip:38,wipe:[9,13,23,111,138,152,159,169,219],wire:[27,40,64,83,88,90,113,138,168,264,276,277,308,321],wis:58,wisdom:[60,93],wise:[6,11,13,14,15,26,58,60,80,96,118,131,135],wise_text:60,wiseobject:60,wiser:20,wiseword:60,wish:[33,36,39,75,120,131,136,180,221,321,343,357],with_metaclass:96,with_tag:203,withdraw:[116,221],withdrawl:221,within:[1,8,9,10,11,22,24,26,31,33,37,38,39,43,47,49,51,56,58,64,90,94,95,97,100,114,115,116,117,118,119,120,124,126,131,134,136,137,138,144,148,150,159,179,187,190,192,210,238,247,252,260,310,316,317,321,337,344,357],without:[0,8,11,12,13,14,16,20,21,22,23,25,27,29,30,31,33,35,37,38,40,42,43,44,46,49,50,51,55,57,58,59,60,61,63,64,66,67,76,80,86,88,90,91,92,93,96,97,100,101,104,107,108,109,114,115,118,119,121,123,125,126,127,128,129,131,133,136,138,139,144,146,151,154,156,157,159,164,165,167,168,169,170,175,177,179,181,182,187,192,195,205,206,212,215,217,220,221,226,231,233,242,247,250,251,252,259,260,276,287,290,291,298,308,309,316,318,321,322,324,325,326,328,329,337,340,341,344,350],withstand:80,wixmp:122,wiz:58,wizard:[109,233,252,265,267],wkei:[43,159],wlocat:[43,159],wlock:[43,159],wmagic:220,wmass:220,wndb_:[43,159],won:[0,2,4,10,11,12,13,15,21,22,23,29,31,38,41,42,46,57,61,63,69,73,78,81,83,85,86,91,95,96,100,111,114,119,123,125,127,134,137,138,153,188,204,223,226,312,321,340],wonder:[9,16,56,82,119,138],wont_suppress_ga:289,wont_ttyp:294,wooden:109,woosh:21,word:[14,27,33,43,46,49,50,62,69,70,72,76,88,89,91,93,94,95,96,97,111,119,122,126,131,136,151,166,167,171,186,198,205,206,279,326,341,344],word_fil:205,word_length_vari:205,wordi:205,work:[0,2,4,5,8,9,10,11,13,14,15,16,20,21,22,23,24,25,26,27,28,29,31,34,36,37,38,41,42,43,44,48,49,51,56,57,58,59,60,61,62,63,64,66,67,70,71,72,75,80,81,83,84,85,86,89,90,93,94,95,96,97,102,103,105,106,108,109,111,112,114,115,116,117,119,122,123,124,126,127,128,129,132,133,134,136,138,139,150,153,154,156,159,164,165,167,169,175,179,180,181,187,202,203,206,212,215,219,220,221,233,234,235,239,241,242,247,251,252,267,271,272,284,299,312,314,316,318,322,327,328,329,330,338,344,350,363,364],workaround:[63,100,131],workflow:61,world:[9,10,11,13,14,15,21,27,31,33,34,39,41,47,49,51,55,57,58,60,62,63,64,68,72,73,78,79,80,82,86,90,96,104,108,109,111,113,116,117,121,123,124,127,131,139,144,158,159,164,166,170,179,184,202,206,217,218,219,220,221,232,233,235,239,256,306,308,321,322,331,363,364],world_map:111,worm:49,worm_has_map:49,worn:[182,218],worri:[0,11,15,36,39,41,51,55,104,113,114,123,127,138,179],worst:61,worth:[0,8,21,29,51,61,70,79,91,93,124,125,133,179],worthi:61,worthless:90,would:[0,1,4,6,8,9,10,11,13,14,15,16,19,20,21,22,25,27,29,31,33,36,38,39,41,42,43,44,46,48,49,51,55,56,57,58,60,61,62,63,64,68,69,73,77,80,81,82,85,86,88,89,90,91,93,95,96,100,102,105,106,109,111,112,114,115,116,117,118,119,121,123,125,126,127,128,133,134,135,136,138,140,144,151,152,153,159,168,175,179,184,195,205,215,226,234,235,239,242,251,252,279,318,321,322,325,328,339,340,342,344],wouldn:[39,126,138],wound:220,wow:[69,138],wpermiss:[43,159],wprototype_desc:[43,159],wprototype_kei:[43,159],wprototype_lock:[43,159],wprototype_par:[43,159],wprototype_tag:[43,159],wrap:[10,30,49,51,59,96,102,109,119,136,182,188,206,274,314,330,344],wrap_conflictual_object:340,wrapper:[10,27,29,51,74,86,93,105,119,125,144,148,176,177,212,239,246,247,256,260,272,274,306,316,318,319,321,330,334,335,337,344],wresid:[43,169],write:[0,4,10,11,14,15,16,20,22,23,25,27,31,33,34,37,38,41,43,44,46,48,51,56,58,62,63,65,68,69,71,72,87,88,91,93,94,96,108,123,124,125,129,131,138,159,164,166,175,180,209,210,234,247,280,337,342,363,364],writeabl:75,written:[15,27,38,54,56,57,58,61,79,103,109,127,133,134,166,209,322],wrong:[26,41,42,43,60,63,81,85,95,110,127,152,159,169,206],wrote:170,wserver:[43,169],wservic:[43,164],wsgi:[8,94,312],wsgi_resourc:312,wsgiwebserv:312,wsl:[38,63],wss:[8,67,90],wtypeclass:[43,159],wwhere:247,www:[8,9,22,38,39,55,57,64,70,79,90,108,128,133,141,282,283,289,291,343,357],wyou:82,x0c:159,x1b:[321,343],x2x:58,x4x:327,x5x:327,x6x:327,x7x:327,x8x:327,x9x:327,x_r:39,xc8ymjkxnmmyns02mjk5ltq1m2qtytiyms00ndzlyzgzowy1njdcl2rhmnbtenutndzknjnjnmqtownkyy00mwrkltg3zdytmtew:122,xcode:63,xenial:130,xforward:312,xgettext:76,xit:[22,180],xmlcharrefreplac:321,xp_gain:73,xpo:330,xterm256:[43,55,74,81,83,137,156,183,190,272,287,290,321,364],xterm256_bg:321,xterm256_bg_sub:321,xterm256_fg:321,xterm256_fg_sub:321,xterm256_gbg:321,xterm256_gbg_sub:321,xterm256_gfg:321,xterm256_gfg_sub:321,xterm:[114,126],xterms256:114,xval:33,xxx:[25,42,204],xxxx:204,xxxxx1xxxxx:327,xxxxx3xxxxx:327,xxxxxxx2xxxxxxx:327,xxxxxxxxxx3xxxxxxxxxxx:58,xxxxxxxxxx4xxxxxxxxxxx:58,xxxxxxxxxxx:327,xxxxxxxxxxxxxx1xxxxxxxxxxxxxxx:58,xxxxxxxxxxxxxxxxxxxxxx:58,xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:58,xyz:87,y_r:39,yan:[114,321],yank:50,yeah:138,year:[25,55,61,62,88,90,108,184,331,337,344,357],yearli:[62,90],yellow:[114,126,131,232],yep:138,yes:[10,33,39,46,51,126,138,159,198,265,326,328,344],yes_act:328,yes_no_question_cmdset:328,yesno:[51,326],yesnoquestioncmdset:328,yet:[0,2,4,12,14,22,25,28,35,36,41,42,46,49,51,54,60,63,64,67,76,79,86,90,94,96,105,109,111,119,121,128,130,131,133,134,138,144,164,171,179,186,195,226,242,246,260,285,308,312,321],yield:[10,23,33,80,108,159,170,210,330,344],yml:[100,130],yogurt:203,you:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,19,20,21,22,23,24,25,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,95,96,97,98,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,144,153,154,156,159,164,165,166,167,168,169,170,171,175,179,180,181,182,183,184,187,188,190,193,194,195,198,199,202,203,204,205,206,209,210,212,213,214,215,217,218,219,220,221,223,226,232,233,234,235,241,242,247,252,258,259,260,261,269,278,279,280,296,298,308,310,312,313,316,318,321,322,324,327,328,330,331,340,341,344,357,363],young:77,your:[0,1,3,5,6,7,8,9,10,11,12,13,14,15,16,17,21,22,23,25,27,29,30,31,34,35,36,37,38,41,42,43,44,45,46,47,48,49,50,51,54,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,85,87,88,91,93,95,96,98,101,102,104,105,106,107,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,129,130,132,134,135,136,138,139,140,144,148,151,153,154,156,157,159,164,165,166,169,170,171,179,180,182,183,184,185,186,187,188,190,194,204,205,206,209,210,213,215,217,218,219,220,221,223,226,232,233,234,235,241,242,246,298,318,321,326,328,330,340,341,342,344,345,357,364],your_email:131,yourgam:209,yourhostnam:67,yournam:8,yourpassword:23,yourrepo:106,yourself:[0,2,5,6,14,16,19,22,23,26,31,37,42,43,51,55,58,63,69,70,73,78,80,86,89,90,91,96,102,108,111,119,123,125,130,131,135,159,165,179,189,206,212,220,223,328],yoursit:133,yourusernam:131,yourwebsit:133,yousuck:12,yousuckmor:12,youth:188,youtub:131,ypo:330,yrs:184,ythi:114,yum:[8,67,131],yvonn:58,z_r:39,zed:[77,79],zero:[20,27,109,164,206,247,316,321],zine:61,zip:103,zlib:[75,276,280],zmud:[24,282],zone:[18,46,55,56,70,79,112,119,122,124,139,319,337,364],zope:97,zopeinterfac:63,zuggsoft:282,zy1rozgc6mq:45},titles:["A voice operated elevator using events","API refactoring","Accounts","Add a simple new web page","Add a wiki on your website","Adding Command Tutorial","Adding Object Typeclass Tutorial","Administrative Docs","Apache Config","Arxcode installing help","Async Process","Attributes","Banning","Batch Code Processor","Batch Command Processor","Batch Processors","Bootstrap & Evennia","Bootstrap Components and Utilities","Builder Docs","Building Permissions","Building Quickstart","Building a mech tutorial","Building menus","Choosing An SQL Server","Client Support Grid","Coding FAQ","Coding Introduction","Coding Utils","Command Cooldown","Command Duration","Command Prompt","Command Sets","Command System","Commands","Communications","Connection Screen","Continuous Integration","Contributing","Contributing to Evennia Docs","Coordinates","Custom Protocols","Customize channels","Debugging","Default Command Help","Default Exit Errors","Developer Central","Dialogues in events","Directory Overview","Docs refactoring","Dynamic In Game Map","EvEditor","EvMenu","EvMore","API Summary","Evennia Game Index","Evennia Introduction","Evennia for Diku Users","Evennia for MUSH Users","Evennia for roleplaying sessions","Execute Python Code","First Steps Coding","Game Planning","Gametime Tutorial","Getting Started","Glossary","Grapevine","Guest Logins","HAProxy Config (Optional)","Help System","Help System Tutorial","How To Get And Give Help","How to connect Evennia to Twitter","IRC","Implementing a game rule system","Inputfuncs","Installing on Android","Internationalization","Learn Python for Evennia The Hard Way","Licensing","Links","Locks","Manually Configuring Color","Mass and weight for objects","Messagepath","MonitorHandler","NPC shop Tutorial","New Models","Nicks","OOB","Objects","Online Setup","Parsing command arguments, theory and best practices","Portal And Server","Profiling","Python 3","Python basic introduction","Python basic tutorial part two","Quirks","RSS","Roadmap","Running Evennia in Docker","Screenshot","Scripts","Security","Server Conf","Sessions","Setting up PyCharm","Signals","Soft Code","Spawner and Prototypes","Start Stop Reload","Static In Game Map","Tags","Text Encodings","TextTags","TickerHandler","Turn based Combat System","Tutorial Aggressive NPCs","Tutorial NPCs listening","Tutorial Searching For Objects","Tutorial Tweeting Game Stats","Tutorial Vehicles","Tutorial World Introduction","Tutorial for basic MUSH like game","Tutorials","Typeclasses","Understanding Color Tags","Unit Testing","Updating Your Game","Using MUX as a Standard","Using Travis","Version Control","Weather Tutorial","Web Character Generation","Web Character View Tutorial","Web Features","Web Tutorial","Webclient","Webclient brainstorm","Wiki Index","Zones","evennia","evennia","evennia.accounts","evennia.accounts.accounts","evennia.accounts.admin","evennia.accounts.bots","evennia.accounts.manager","evennia.accounts.models","evennia.commands","evennia.commands.cmdhandler","evennia.commands.cmdparser","evennia.commands.cmdset","evennia.commands.cmdsethandler","evennia.commands.command","evennia.commands.default","evennia.commands.default.account","evennia.commands.default.admin","evennia.commands.default.batchprocess","evennia.commands.default.building","evennia.commands.default.cmdset_account","evennia.commands.default.cmdset_character","evennia.commands.default.cmdset_session","evennia.commands.default.cmdset_unloggedin","evennia.commands.default.comms","evennia.commands.default.general","evennia.commands.default.help","evennia.commands.default.muxcommand","evennia.commands.default.syscommands","evennia.commands.default.system","evennia.commands.default.tests","evennia.commands.default.unloggedin","evennia.comms","evennia.comms.admin","evennia.comms.channelhandler","evennia.comms.comms","evennia.comms.managers","evennia.comms.models","evennia.contrib","evennia.contrib.barter","evennia.contrib.building_menu","evennia.contrib.chargen","evennia.contrib.clothing","evennia.contrib.color_markups","evennia.contrib.custom_gametime","evennia.contrib.dice","evennia.contrib.email_login","evennia.contrib.extended_room","evennia.contrib.fieldfill","evennia.contrib.gendersub","evennia.contrib.health_bar","evennia.contrib.ingame_python","evennia.contrib.ingame_python.callbackhandler","evennia.contrib.ingame_python.commands","evennia.contrib.ingame_python.eventfuncs","evennia.contrib.ingame_python.scripts","evennia.contrib.ingame_python.tests","evennia.contrib.ingame_python.typeclasses","evennia.contrib.ingame_python.utils","evennia.contrib.mail","evennia.contrib.mapbuilder","evennia.contrib.menu_login","evennia.contrib.multidescer","evennia.contrib.puzzles","evennia.contrib.random_string_generator","evennia.contrib.rplanguage","evennia.contrib.rpsystem","evennia.contrib.security","evennia.contrib.security.auditing","evennia.contrib.security.auditing.outputs","evennia.contrib.security.auditing.server","evennia.contrib.security.auditing.tests","evennia.contrib.simpledoor","evennia.contrib.slow_exit","evennia.contrib.talking_npc","evennia.contrib.tree_select","evennia.contrib.turnbattle","evennia.contrib.turnbattle.tb_basic","evennia.contrib.turnbattle.tb_equip","evennia.contrib.turnbattle.tb_items","evennia.contrib.turnbattle.tb_magic","evennia.contrib.turnbattle.tb_range","evennia.contrib.tutorial_examples","evennia.contrib.tutorial_examples.bodyfunctions","evennia.contrib.tutorial_examples.cmdset_red_button","evennia.contrib.tutorial_examples.example_batch_code","evennia.contrib.tutorial_examples.red_button","evennia.contrib.tutorial_examples.red_button_scripts","evennia.contrib.tutorial_examples.tests","evennia.contrib.tutorial_world","evennia.contrib.tutorial_world.intro_menu","evennia.contrib.tutorial_world.mob","evennia.contrib.tutorial_world.objects","evennia.contrib.tutorial_world.rooms","evennia.contrib.unixcommand","evennia.contrib.wilderness","evennia.help","evennia.help.admin","evennia.help.manager","evennia.help.models","evennia.locks","evennia.locks.lockfuncs","evennia.locks.lockhandler","evennia.objects","evennia.objects.admin","evennia.objects.manager","evennia.objects.models","evennia.objects.objects","evennia.prototypes","evennia.prototypes.menus","evennia.prototypes.protfuncs","evennia.prototypes.prototypes","evennia.prototypes.spawner","evennia.scripts","evennia.scripts.admin","evennia.scripts.manager","evennia.scripts.models","evennia.scripts.monitorhandler","evennia.scripts.scripthandler","evennia.scripts.scripts","evennia.scripts.taskhandler","evennia.scripts.tickerhandler","evennia.server","evennia.server.admin","evennia.server.amp_client","evennia.server.connection_wizard","evennia.server.deprecations","evennia.server.evennia_launcher","evennia.server.game_index_client","evennia.server.game_index_client.client","evennia.server.game_index_client.service","evennia.server.initial_setup","evennia.server.inputfuncs","evennia.server.manager","evennia.server.models","evennia.server.portal","evennia.server.portal.amp","evennia.server.portal.amp_server","evennia.server.portal.grapevine","evennia.server.portal.irc","evennia.server.portal.mccp","evennia.server.portal.mssp","evennia.server.portal.mxp","evennia.server.portal.naws","evennia.server.portal.portal","evennia.server.portal.portalsessionhandler","evennia.server.portal.rss","evennia.server.portal.ssh","evennia.server.portal.ssl","evennia.server.portal.suppress_ga","evennia.server.portal.telnet","evennia.server.portal.telnet_oob","evennia.server.portal.telnet_ssl","evennia.server.portal.tests","evennia.server.portal.ttype","evennia.server.portal.webclient","evennia.server.portal.webclient_ajax","evennia.server.profiling","evennia.server.profiling.dummyrunner","evennia.server.profiling.dummyrunner_settings","evennia.server.profiling.memplot","evennia.server.profiling.settings_mixin","evennia.server.profiling.test_queries","evennia.server.profiling.tests","evennia.server.profiling.timetrace","evennia.server.server","evennia.server.serversession","evennia.server.session","evennia.server.sessionhandler","evennia.server.signals","evennia.server.throttle","evennia.server.validators","evennia.server.webserver","evennia.settings_default","evennia.typeclasses","evennia.typeclasses.admin","evennia.typeclasses.attributes","evennia.typeclasses.managers","evennia.typeclasses.models","evennia.typeclasses.tags","evennia.utils","evennia.utils.ansi","evennia.utils.batchprocessors","evennia.utils.containers","evennia.utils.create","evennia.utils.dbserialize","evennia.utils.eveditor","evennia.utils.evform","evennia.utils.evmenu","evennia.utils.evmore","evennia.utils.evtable","evennia.utils.gametime","evennia.utils.idmapper","evennia.utils.idmapper.manager","evennia.utils.idmapper.models","evennia.utils.idmapper.tests","evennia.utils.inlinefuncs","evennia.utils.logger","evennia.utils.optionclasses","evennia.utils.optionhandler","evennia.utils.picklefield","evennia.utils.search","evennia.utils.test_resources","evennia.utils.text2html","evennia.utils.utils","evennia.utils.validatorfuncs","evennia.web","evennia.web.urls","evennia.web.utils","evennia.web.utils.backends","evennia.web.utils.general_context","evennia.web.utils.middleware","evennia.web.utils.tests","evennia.web.webclient","evennia.web.webclient.urls","evennia.web.webclient.views","evennia.web.website","evennia.web.website.forms","evennia.web.website.templatetags","evennia.web.website.templatetags.addclass","evennia.web.website.tests","evennia.web.website.urls","evennia.web.website.views","Evennia Documentation","Toc"],titleterms:{"2017":138,"2019":[1,48,138],"3rd":138,"9th":138,"case":0,"class":[22,27,33,41,51,96,125,127],"default":[5,6,25,30,43,44,55,60,74,80,137,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171],"final":[49,75],"function":[22,42,51,53,80,89,95,102,114],"goto":51,"import":[26,38,41,95],"new":[3,4,6,58,60,69,86,97,102,114,125,127,133],"public":54,"return":[51,59,105],"static":111,"super":19,"switch":41,"try":41,Adding:[0,4,5,6,9,20,25,31,39,40,41,44,74,86,112,121,133],And:[70,92],For:119,NOT:77,PMs:58,TLS:8,The:[3,10,11,13,14,16,18,19,22,26,29,41,46,47,49,50,51,58,69,77,83,85,93,96,109,116,123,135],USE:77,Use:[26,103],Using:[49,52,84,86,90,93,109,112,127,129,130,140],Will:25,Yes:51,__unloggedin_look_command:43,abort:29,about:[29,43,115,125,128],abus:12,access:43,access_typ:80,account:[2,43,58,64,97,143,144,145,146,147,148,156],activ:[57,133],actual:[33,125],add:[3,4,23,25,60],add_choic:22,addclass:359,addcom:43,adding:127,addit:[9,39,41,44,100],address:25,admin:[43,64,97,135,145,157,173,237,244,254,263,315],administr:7,advanc:[18,29,53,87,110],aggress:117,alia:[43,97],alias:112,all:[25,51,67,69],allcom:43,alpha:61,altern:[9,106],amp:276,amp_client:264,amp_serv:277,analyz:93,android:75,ani:[13,55],annot:119,anoth:[38,41,119],ansi:[27,114,126,321],apach:8,api:[1,38,45,53,137],app:[69,133],arbitrari:51,area:[111,123],arg:91,arg_regex:33,argument:[1,51,91],arm:21,arx:9,arxcod:9,ascii:27,ask:[33,51],assign:[19,33],assort:[10,14,31,33,40,51,112,118],async:10,asynchron:10,attach:[106,107],attack:[73,123],attribut:[11,64,97,316],attributehandl:11,audit:[208,209,210,211],aug:[1,48],auto:68,automat:25,avail:[35,59,107],backend:349,ban:[12,43],barter:179,base:[25,109,116],basic:[4,13,14,18,55,71,95,96,123,127,136],batch:[13,14,15,322],batchcod:[13,43],batchcommand:43,batchprocess:[43,158],batchprocessor:322,befor:26,best:91,beta:61,between:[13,51,125],block:[13,29,38],blockquot:38,bodyfunct:223,bold:38,boot:[12,43],bootstrap:[16,17],border:17,bot:146,brainstorm:[45,138],branch:[51,131],bridg:77,brief:[55,69],briefli:88,bug:[38,97],build:[18,19,20,21,22,38,43,49,58,61,85,111,124,159],builder:18,building_menu:[22,180],busi:85,button:[17,20],calendar:62,call:33,callabl:51,callback:[0,46,137],callbackhandl:192,caller:51,can:[11,22,55],capcha:133,card:17,care:103,caveat:[13,14,75,114,125],cboot:43,ccreat:43,cdesc:43,cdestroi:43,cemit:43,central:45,certif:67,chainsol:138,chang:[0,5,6,25,38,58,60,76,97,103,108,128,131,136],channel:[25,34,41,43,58,64],channelhandl:174,charact:[6,24,25,46,58,60,61,64,73,82,89,96,123,133,134],charcreat:43,chardelet:43,chargen:[123,181],chat:138,cheat:42,check:[11,80],checker:26,checkpoint:133,choic:22,choos:23,clean:9,clickabl:114,client:[24,83,88,90,135,137,269],client_opt:74,clock:43,clone:[9,131],cloth:182,cloud9:90,cmdabout:43,cmdaccess:43,cmdaddcom:43,cmdallcom:43,cmdban:43,cmdbatchcod:43,cmdbatchcommand:43,cmdboot:43,cmdcboot:43,cmdcdesc:43,cmdcdestroi:43,cmdcemit:43,cmdchannel:43,cmdchannelcr:43,cmdcharcreat:43,cmdchardelet:43,cmdclock:43,cmdcolortest:43,cmdcopi:43,cmdcpattr:43,cmdcreat:43,cmdcwho:43,cmddelcom:43,cmddesc:43,cmddestroi:43,cmddig:43,cmddrop:43,cmdemit:43,cmdexamin:43,cmdfind:43,cmdforc:43,cmdget:43,cmdgive:43,cmdhandler:150,cmdhelp:43,cmdhome:43,cmdic:43,cmdinventori:43,cmdirc2chan:43,cmdlink:43,cmdlistcmdset:43,cmdlock:43,cmdlook:43,cmdmvattr:43,cmdname:43,cmdnewpassword:43,cmdnick:43,cmdobject:43,cmdooc:43,cmdooclook:43,cmdopen:43,cmdoption:43,cmdpage:43,cmdparser:151,cmdpassword:43,cmdperm:43,cmdpose:43,cmdpy:43,cmdquell:43,cmdquit:43,cmdreload:43,cmdreset:43,cmdrss2chan:43,cmdsai:43,cmdscript:43,cmdserverload:43,cmdservic:43,cmdsession:43,cmdset:[5,43,152],cmdset_account:160,cmdset_charact:161,cmdset_red_button:224,cmdset_sess:162,cmdset_unloggedin:163,cmdsetattribut:43,cmdsetdesc:43,cmdsethandl:153,cmdsethelp:43,cmdsethom:43,cmdsetobjalia:43,cmdshutdown:43,cmdspawn:43,cmdstyle:43,cmdtag:43,cmdteleport:43,cmdtime:43,cmdtunnel:43,cmdtypeclass:43,cmdunban:43,cmdunconnectedconnect:43,cmdunconnectedcr:43,cmdunconnectedhelp:43,cmdunconnectedlook:43,cmdunconnectedquit:43,cmdunlink:43,cmdwall:43,cmdwhisper:43,cmdwho:43,cmdwipe:43,code:[8,13,22,25,26,27,38,41,42,50,59,60,61,73,85,87,108,124,128,131,322],collabor:57,color:[17,25,27,43,81,126],color_markup:183,colour:114,combat:[116,123],comfort:100,comm:[43,164,172,173,174,175,176,177],command:[5,14,22,25,28,29,30,31,32,33,35,41,42,43,44,45,53,58,60,62,68,71,73,81,85,88,91,97,100,116,121,123,127,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,193,322],comment:[44,49],commit:131,commun:[13,34],complet:80,complex:[22,119],compon:[17,45],comput:90,concept:[45,49,116],conclud:[39,123],conclus:[22,41,91,111],condit:[25,119],conf:104,config:[8,53,67,81],configur:[8,23,65,67,71,72,81,98,106,131,133],congratul:61,connect:[35,43,54,71,90,97],connection_wizard:265,contain:[100,323],content:[25,55],continu:36,contrib:[22,37,124,127,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235],contribut:[37,38,53],control:131,convert:91,cooldown:28,coordin:39,copi:[8,43],core:[45,53,56,64],cpattr:43,cprofil:93,creat:[0,2,3,5,6,12,20,21,27,33,36,43,51,53,69,86,89,97,100,111,121,123,125,133,324],createnpc:123,creatur:100,credit:79,crop:27,current:[42,62],custom:[4,5,7,10,22,40,41,51,57,62,80,81,105,113,124,127,135,137],custom_gametim:184,cwho:43,data:[6,11,40,51,105,106],databas:[9,53,68,86,97,109,128],dbref:25,dbserial:325,deal:102,debug:[13,42,103],debugg:106,decor:[10,51],dedent:27,dedic:133,defaultobject:97,defin:[31,33,34,51,80,86,102,131],definit:80,delai:[10,27,29],delcom:43,delimit:25,demo:61,depend:[9,128],deploi:100,deprec:[38,266],desc:[43,51],descer:57,descript:100,design:85,destroi:43,detail:[43,69,133],develop:[45,57,79,100,103,110,124,127],dialogu:46,dice:[58,185],dictionari:51,differ:[56,125],dig:43,diku:56,direct:106,directori:[47,90,104],disabl:103,discuss:79,displai:[24,27,49,62],django:[64,80,110,119,133,135],doc:[7,18,26,38,48],docker:100,document:[37,38,129,363],don:[13,55,100],donat:37,down:[20,110,121],drop:43,dummi:73,dummyrunn:[93,298],dummyrunner_set:299,durat:29,dure:110,dynam:[33,49,51,127],earli:7,echo:74,edit:[22,38,50,123],editnpc:123,editor:50,elev:0,email_login:186,emit:43,emul:56,encod:[15,113],encrypt:90,end:41,engin:124,enjoi:8,enter:121,entir:0,entri:[20,68],error:[44,95,102,110],eveditor:[50,326],evennia:[4,5,7,8,9,16,23,25,26,38,41,42,45,47,54,55,56,57,58,67,71,75,76,77,79,90,91,95,96,100,106,109,110,124,126,127,128,131,137,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363],evennia_launch:267,evenniatest:127,event:[0,46,62],eventfunc:194,everi:30,everyth:22,evform:[58,327],evmenu:[25,51,328],evmor:[52,329],evtabl:[25,58,330],examin:[42,43],exampl:[39,42,46,50,51,73,80,83,90,102,108,116,127,137,322],example_batch_cod:225,execut:[42,59],exercis:77,exist:[6,125],exit:[0,6,25,33,44,89],expand:[116,121],explan:22,explor:[26,96],extended_room:187,extern:103,familiar:[56,57],faq:25,faster:127,featur:[38,55,69,135],feel:56,field:64,fieldfil:188,file:[13,14,15,38,43,104,127,131,322],fill:27,find:[39,43,59],firewal:103,first:[0,22,46,57,60,95,124],fix:131,flexibl:38,folder:[9,26,131],forc:43,foreground:110,forget:97,fork:[37,131],form:[17,133,357],format:51,forum:79,framework:79,from:[4,20,25,51,55,60,90,96,100,133,137,138,328],front:136,full:[22,41,69,83],func:41,further:[8,10,136],futur:[21,138],game:[7,26,27,39,45,47,49,54,55,57,58,59,61,62,73,90,100,111,120,123,124,127,128,131],game_index_cli:[268,269,270],gamedir:38,gameplai:122,gametim:[62,331],gap:77,gendersub:189,gener:[17,22,41,43,45,79,123,124,133,165,328],general_context:350,get:[20,43,51,63,67,70,119],get_client_opt:74,get_input:51,get_inputfunc:74,get_valu:74,git:[64,131],github:[38,64],give:[43,70],given:112,global:[53,91,102],glossari:64,gmcp:88,godhood:20,goldenlayout:137,googl:133,grant:58,grapevin:[65,278],griatch:[1,48,138],grid:[24,49],group:119,guest:66,gui:138,guid:9,handl:[12,69,103,110],handler:[53,107,116],haproxi:67,hard:77,have:123,head:38,health_bar:190,hello:95,help:[9,20,26,37,43,68,69,70,166,236,237,238,239],here:[26,55,60,96],hierarchi:58,hint:8,home:43,hook:125,host:90,hous:20,how:[2,33,58,70,71,89,100,113,121,125],html:[3,133],http:[8,67],idea:138,idmapp:[332,333,334,335],imag:[100,103],implement:73,improv:69,index:[54,69,133,139],info:[79,110],inform:[45,90],infrastructur:73,ingame_python:[191,192,193,194,195,196,197,198],ingo:83,inherit:140,inherits_from:27,initi:[6,23,25,116],initial_setup:271,inlin:114,inlinefunc:[114,336],input:[33,51,88],inputfunc:[74,83,88,272],insid:119,instal:[4,7,8,9,23,63,67,71,75,90,100,122,131,133],instanc:[33,86,125],instruct:88,integr:36,interact:[10,13,14,26],interfac:103,internation:76,interpret:106,intro_menu:230,introduct:[9,26,49,51,55,93,95,111,122,133],inventori:[43,82],irc2chan:43,irc:[72,279],issu:24,ital:38,jan:138,johnni:1,join:41,jumbotron:17,just:55,kei:[22,51,109],keyword:46,kill:110,know:[55,103],known:97,kovitiku:48,languag:[51,76],last:25,latest:[100,128],latin:25,launch:[50,51],layout:[16,41,47],learn:[26,55,77],leav:[41,121],legend:24,let:[13,42,69,90],librari:[47,96],licens:78,life:7,lift:12,like:[13,56,123],limit:[13,14,119],line:[21,42,50],link:[38,43,79,94,114],linux:[36,63,110],list:[38,42],list_nod:51,listen:118,literatur:79,live:110,local:[38,90,91],lock:[11,43,80,121,240,241,242],lockdown:90,lockfunc:241,lockhandl:242,log:[9,27,69,95,103],logfil:106,logger:337,login:[66,74],logo:136,longer:46,look:[5,43,56,95,123],lookup:53,mac:[63,110],machin:90,magic:97,mail:[131,199],main:[38,53],make:[20,21,27,57,58,60,67,121,123,127,131],manag:[4,137,147,176,238,245,255,273,317,333],manual:[54,81],map:[49,111],mapbuild:200,mapper:49,mariadb:23,markup:321,mass:82,master:[58,131],match:97,mccp:280,mech:21,mechan:124,memplot:300,menu:[22,27,51,85,249,328],menu_login:201,merg:31,messag:[0,25,83,88],messagepath:83,method:[33,41,81,97],middlewar:351,migrat:[4,64,128],mind:131,mini:127,minimap:111,miscellan:124,mob:231,mod_proxi:8,mod_ssl:8,mod_wsgi:8,mode:[13,14,64,90,105,110],model:[53,86,127,133,148,177,239,246,256,274,318,334],modif:58,modifi:[8,30],modul:[71,73,94,95,109,116],monitor:74,monitorhandl:[84,257],more:[16,29,38,53,57,80,81,128,135],most:26,move:[25,121],msdp:88,msg:[34,81,83],mssp:281,mud:79,multi:57,multidesc:[57,202],multipl:[11,119],multisess:[64,105],mush:[57,123],mutabl:[11,97],mux:129,muxcommand:167,mvattr:43,mxp:282,mysql:23,name:[12,43,88,97],naw:283,ndb:11,need:[0,55],nest:22,next:[57,63,71],nice:67,nick:[43,87],node:51,non:[11,25,28,54],nop:24,note:[8,10,14,15,31,33,38,40,51,87,112,118,122,127],npc:[85,117,118,123],number:91,object:[5,6,11,20,25,27,43,59,60,61,64,80,82,89,96,97,105,111,112,119,121,124,232,243,244,245,246,247],objmanipcommand:43,obtain:133,oct:138,octob:138,off:25,offici:79,olc:109,one:39,onli:[38,110],onlin:[38,90,131],oob:88,ooc:43,open:[43,85],oper:[0,10],option:[1,22,43,51,58,67,90,91,103,110],optionclass:338,optionhandl:339,other:[23,33,45,79,90,104],our:[0,22,69,95,96,108,121,133],out:[25,40,58],outgo:83,output:[59,127,209],outputcommand:88,outputfunc:88,outsid:[59,90],overal:73,overload:[81,125,135],overrid:97,overview:[36,47,86,116,136],own:[2,33,40,74,89,90,100,137],page:[3,4,43,69,135,136],parent:[57,86],pars:[25,41,91,95],part:96,parti:79,password:43,patch:37,path:[13,83],paus:[0,29,33],pax:9,pdb:42,perm:43,permiss:[19,58,80,112,122],perpetu:61,persist:[11,28,29,50],person:20,picklefield:340,pictur:133,pip:[4,64],plai:67,plan:[26,61,111],player:57,plugin:137,point:26,polici:129,port:[90,103],portal:[83,92,105,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296],portalsess:83,portalsessionhandl:[83,285],pose:43,posit:1,possibl:51,post:138,postgresql:23,practic:91,prepar:36,prerequisit:75,prevent:25,privileg:4,problem:108,process:[10,110],processor:[13,14,15,322],product:[21,100],profil:[93,297,298,299,300,301,302,303,304],program:[42,55],progress:77,project:[36,106],prompt:[30,51],properti:[2,11,31,33,34,51,64,89,102,105,112,125],protfunc:[109,250],protocol:[40,45,55,88],prototyp:[109,248,249,250,251,252],proxi:[8,90],publicli:131,pudb:42,puppet:64,push:[20,131],put:[67,69,131],puzzl:203,pycharm:106,python:[13,26,55,57,59,71,77,79,94,95,96],quell:[19,43,80,122],queri:[119,125],quick:[36,63],quickstart:20,quiet:91,quirk:97,quit:43,random_string_gener:204,read:[10,26,135,136],real:13,reboot:110,recapcha:133,receiv:[40,88],red_button:226,red_button_script:227,reduc:1,refactor:[1,48],refer:[25,38],regist:90,relat:[45,62],releas:[38,61],relev:90,reli:13,reload:[8,25,43,97,110],remark:123,rememb:38,remind:69,remot:[90,131],remov:[25,112],repeat:[51,74],repo:9,report:38,repositori:[26,37,38,64,131],request:38,requir:63,reset:[43,110,128],reshuffl:20,resourc:79,rest:38,restart:8,retriev:11,roadmap:99,role:58,roleplai:58,roller:58,rom:56,room:[0,6,25,39,49,58,61,82,89,233],rplanguag:205,rpsystem:206,rss2chan:43,rss:[98,286],rule:[31,73,116],run:[4,7,25,33,42,55,75,100,106,127],runner:127,safeti:13,sage:48,sai:43,same:[46,51],save:11,schema:128,score:123,screen:35,screenshot:101,script:[43,64,102,121,195,253,254,255,256,257,258,259,260,261],scripthandl:258,search:[27,31,39,53,86,91,112,119,341],secret:133,secur:[8,67,103,207,208,209,210,211],see:[69,97],select:25,self:91,send:[30,40,88],sent:30,separ:22,sept:[1,48],server:[7,8,23,43,76,90,92,104,105,123,210,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312],serverconf:104,serversess:[83,306],serversessionhandl:83,servic:[43,270],session:[25,43,58,64,83,105,307],sessionhandl:[105,308],set:[4,5,9,31,43,49,51,54,62,65,72,80,81,90,98,103,104,106,123,127,131],setdesc:43,sethelp:43,sethom:43,setpow:123,settings_default:313,settings_mixin:301,setup:[8,9,23,36,90],sever:[39,46,91],share:131,sharedmemorymodel:86,sheet:[42,58],shell:96,shop:85,shortcut:[11,53],show:[51,123],shut:110,shutdown:43,sidebar:38,signal:[107,309],simpl:[3,22,29,42,51,80,93,127],simpledoor:212,singl:11,singleton:53,site:[64,135],sitekei:133,slow_exit:213,soft:108,softcod:[57,108],solut:108,some:[39,41,56],somewher:55,sourc:[38,43,106],space:17,spawn:[43,57,109],spawner:[109,252],special:38,specif:5,spread:37,spuriou:24,sql:23,sqlite3:23,ssh:[88,103,287],ssl:[90,288],standard:[55,62,129],start:[9,58,63,85,100,110],stat:120,statu:[94,110],step:[5,9,20,42,57,60,61,65,71,72,75,98,124,131,133],stop:110,storag:51,store:[6,11,25,51,109],string:[51,80,91,94,328],strip:91,structur:38,studi:0,stuff:[55,123],style:[17,43],sub:22,subclass:89,subject:96,suit:127,summari:[12,53,55],superus:80,support:[24,55,88],suppress_ga:289,surround:42,swap:125,synchron:10,syntax:[26,38,57,110,322],syscommand:168,system:[16,32,33,43,45,61,68,69,73,80,116,123,124,169],tabl:[25,27,38,86],tag:[39,43,112,126,319],talking_npc:214,taskhandl:260,tb_basic:217,tb_equip:218,tb_item:219,tb_magic:220,tb_rang:221,teamciti:36,tech:61,technic:[38,55,226],tel:43,telnet:[24,88,90,290],telnet_oob:291,telnet_ssl:292,templat:[36,51,69,133,328],templatetag:[358,359],tempmsg:34,temporari:51,termux:75,test:[55,59,93,123,127,170,196,211,228,293,303,335,352,360],test_queri:302,test_resourc:342,text2html:343,text:[27,38,51,74,113,114,136],texttag:114,theori:91,thi:[41,69],thing:[38,56,57,119],third:79,throttl:310,through:[37,42,100],ticker:[64,115],tickerhandl:[115,261],tie:58,time:[27,33,43,62,102,108],time_format:27,timer:93,timetrac:304,tip:131,titeuf87:138,to_byt:27,to_str:27,toc:364,togeth:[67,69],tool:[12,27,79],traceback:26,track:131,train:[73,121],translat:76,travi:130,treat:13,tree_select:215,trick:131,troubleshoot:[60,63,75],ttype:294,tunnel:43,turn:[25,97,116],turnbattl:[216,217,218,219,220,221],tutori:[0,5,6,18,21,46,62,69,85,96,116,117,118,119,120,121,122,123,124,127,132,134,136],tutorial_exampl:[222,223,224,225,226,227,228],tutorial_world:[229,230,231,232,233],tweak:[60,96],tweet:[71,120],twist:[64,94],twitter:71,two:96,type:[2,5,6,11,60,89],typeclass:[6,43,45,53,57,64,81,97,119,124,125,140,197,314,315,316,317,318,319],unban:43,under:131,understand:126,ungm:58,uninstal:122,unit:127,unixcommand:234,unlink:43,unloggedin:[43,171],unmonitor:74,unrepeat:74,updat:[6,25,60,125,128,131],upgrad:128,upload:103,upstream:[97,131],url:[3,4,69,133,347,354,361],usag:[1,13,14,50],use:[55,97,115],used:[25,33],useful:[33,79],user:[19,33,56,57,69,103,124,131],userpassword:43,using:[0,42,119,127],util:[17,27,29,33,53,79,106,119,198,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,348,349,350,351,352],valid:[80,311],validatorfunc:345,valu:[51,109,119],variabl:[42,59],vehicl:121,verbatim:38,version:[38,131],versu:10,vhost:8,view:[3,68,69,133,134,135,355,362],virtualenv:64,voic:0,wai:[29,51,77],wall:43,want:[55,100],warn:38,weather:132,web:[3,45,88,90,97,103,124,133,134,135,136,137,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362],webclient:[137,138,295,353,354,355],webclient_ajax:296,webclient_gui:137,webserv:[103,312],websit:[4,135,356,357,358,359,360,361,362],websocket:[8,67],weight:82,what:[11,16,36,41,55,91,100],when:[25,115],where:[5,55,60,63,96],whisper:43,whitepag:45,who:[33,43],wiki:[4,139],wilder:235,willing:55,window:[9,63],wipe:43,wizard:54,word:37,work:[7,33,55,69,77,91,100,121,125,131],workaround:24,world:[18,20,61,95,122],write:[40,127,137],xterm256:[114,126],yield:[29,51],you:[26,55],your:[2,4,19,20,26,33,39,40,60,74,86,89,90,97,100,103,108,128,131,133,137],yourself:[20,60,61],zone:140}}) \ No newline at end of file diff --git a/docs/1.0-dev/.buildinfo b/docs/1.0-dev/.buildinfo index 4f006df257..5abb1f86ea 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: 9e835f1511ed91d2bb4672f25d000283 +config: 81e5fc8622cd21ed782707c7be484791 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/1.0-dev/Components/Locks.html b/docs/1.0-dev/Components/Locks.html index 4b315a30fd..94651ab753 100644 --- a/docs/1.0-dev/Components/Locks.html +++ b/docs/1.0-dev/Components/Locks.html @@ -76,7 +76,7 @@ command:

      2 3
         if not obj.access(accessing_obj, 'delete'):
              accessing_obj.msg("Sorry, you may not delete that.")
    -         return 
    +         return
     
    @@ -89,9 +89,9 @@ definitions to the object’s 2 3 4
         delete:id(34)   # only allow obj #34 to delete
    -     edit:all()      # let everyone edit 
    +     edit:all()      # let everyone edit
          # only those who are not "very_weak" or are Admins may pick this up
    -     get: not attr(very_weak) or perm(Admin) 
    +     get: not attr(very_weak) or perm(Admin)
     

    Formally, a lockstring has the following syntax:

    @@ -106,7 +106,7 @@ returns either True total result is True, the lock is passed.

    You can create several lock types one after the other by separating them with a semicolon (;) in the lockstring. The string below yields the same result as the previous example:

    -
    delete:id(34);edit:all();get: not attr(very_weak) or perm(Admin) 
    +
    delete:id(34);edit:all();get: not attr(very_weak) or perm(Admin)
     
    @@ -205,7 +205,7 @@ trying to read the board):

    2 3
         if not obj.access(accessing_obj, 'read'):
              accessing_obj.msg("Sorry, you may not read that.")
    -         return 
    +         return
     
    @@ -230,12 +230,12 @@ arguments explicitly given in the lock definition will appear as extra arguments 7 8
        # A simple example lock function. Called with e.g. `id(34)`. This is
         # defined in, say mygame/server/conf/lockfuncs.py
    -    
    +
         def id(accessing_obj, accessed_obj, *args, **kwargs):
             if args:
                 wanted_id = args[0]
                 return accessing_obj.id == wanted_id
    -        return False 
    +        return False
     

    The above could for example be used in a lock function like this:

    @@ -313,126 +313,6 @@ child object to change the default. Also creation commands like control lock_type so as to allow you, its creator, to control and delete the object.

    - -
    -

    Permissions

    -
    -

    This section covers the underlying code use of permissions. If you just want to learn how to -practically assign permissions in-game, refer to the Building Permissions -page, which details how you use the perm command.

    -
    -

    A permission is simply a list of text strings stored in the handler permissions on Objects -and Accounts. Permissions can be used as a convenient way to structure access levels and -hierarchies. It is set by the perm command. Permissions are especially handled by the perm() and -pperm() lock functions listed above.

    -

    Let’s say we have a red_key object. We also have red chests that we want to unlock with this key.

    -
    perm red_key = unlocks_red_chests
    -
    -
    -

    This gives the red_key object the permission “unlocks_red_chests”. Next we lock our red chests:

    -
    lock red chest = unlock:perm(unlocks_red_chests)
    -
    -
    -

    What this lock will expect is to the fed the actual key object. The perm() lock function will -check the permissions set on the key and only return true if the permission is the one given.

    -

    Finally we need to actually check this lock somehow. Let’s say the chest has an command open <key> -sitting on itself. Somewhere in its code the command needs to figure out which key you are using and -test if this key has the correct permission:

    -
    1
    -2
    -3
    -4
    -5
    -6
    -7
        # self.obj is the chest 
    -    # and used_key is the key we used as argument to
    -    # the command. The self.caller is the one trying
    -    # to unlock the chest
    -    if not self.obj.access(used_key, "unlock"):
    -        self.caller.msg("The key does not fit!")
    -        return 
    -
    -
    -

    All new accounts are given a default set of permissions defined by -settings.PERMISSION_ACCOUNT_DEFAULT.

    -

    Selected permission strings can be organized in a permission hierarchy by editing the tuple -settings.PERMISSION_HIERARCHY. Evennia’s default permission hierarchy is as follows:

    -
     Developer        # like superuser but affected by locks
    - Admin            # can administrate accounts
    - Builder          # can edit the world
    - Helper           # can edit help files
    - Player           # can chat and send tells (default level)
    -
    -
    -

    (Also the plural form works, so you could use Developers etc too).

    -
    -

    There is also a Guest level below Player that is only active if settings.GUEST_ENABLED is -set. This is never part of settings.PERMISSION_HIERARCHY.

    -
    -

    The main use of this is that if you use the lock function perm() mentioned above, a lock check for -a particular permission in the hierarchy will also grant access to those with higher hierarchy -access. So if you have the permission “Admin” you will also pass a lock defined as perm(Builder) -or any of those levels below “Admin”.

    -

    When doing an access check from an Object or Character, the perm() lock function will -always first use the permissions of any Account connected to that Object before checking for -permissions on the Object. In the case of hierarchical permissions (Admins, Builders etc), the -Account permission will always be used (this stops an Account from escalating their permission by -puppeting a high-level Character). If the permission looked for is not in the hierarchy, an exact -match is required, first on the Account and if not found there (or if no Account is connected), then -on the Object itself.

    -

    Here is how you use perm to give an account more permissions:

    -
     perm/account Tommy = Builders
    - perm/account/del Tommy = Builders # remove it again
    -
    -
    -

    Note the use of the /account switch. It means you assign the permission to the -Accounts Tommy instead of any Character that also happens to be named -“Tommy”.

    -

    Putting permissions on the Account guarantees that they are kept, regardless of which Character -they are currently puppeting. This is especially important to remember when assigning permissions -from the hierarchy tree - as mentioned above, an Account’s permissions will overrule that of its -character. So to be sure to avoid confusion you should generally put hierarchy permissions on the -Account, not on their Characters (but see also quelling).

    -

    Below is an example of an object without any connected account

    -
    1
    -2
    -3
    -4
        obj1.permissions = ["Builders", "cool_guy"]
    -    obj2.locks.add("enter:perm_above(Accounts) and perm(cool_guy)")
    -    
    -    obj2.access(obj1, "enter") # this returns True!
    -
    -
    -

    And one example of a puppet with a connected account:

    -
    1
    -2
    -3
    -4
    -5
        account.permissions.add("Accounts")
    -    puppet.permissions.add("Builders", "cool_guy")
    -    obj2.locks.add("enter:perm_above(Accounts) and perm(cool_guy)")
    -    
    -    obj2.access(puppet, "enter") # this returns False!
    -
    -
    -
    -

    Superusers

    -

    There is normally only one superuser account and that is the one first created when starting -Evennia (User #1). This is sometimes known as the “Owner” or “God” user. A superuser has more than -full access - it completely bypasses all locks so no checks are even run. This allows for the -superuser to always have access to everything in an emergency. But it also hides any eventual errors -you might have made in your lock definitions. So when trying out game systems you should either use -quelling (see below) or make a second Developer-level character so your locks get tested correctly.

    -
    -
    -

    Quelling

    -

    The quell command can be used to enforce the perm() lockfunc to ignore permissions on the -Account and instead use the permissions on the Character only. This can be used e.g. by staff to -test out things with a lower permission level. Return to the normal operation with unquell. Note -that quelling will use the smallest of any hierarchical permission on the Account or Character, so -one cannot escalate one’s Account permission by quelling to a high-permission Character. Also the -superuser can quell their powers this way, making them affectable by locks.

    -

    More Lock definition examples

    examine: attr(eyesight, excellent) or perm(Builders)
    @@ -441,7 +321,7 @@ superuser can quell their powers this way, making them affectable by locks.

    You are only allowed to do examine on this object if you have ‘excellent’ eyesight (that is, has an Attribute eyesight with the value excellent defined on yourself) or if you have the “Builders” permission string assigned to you.

    -
    open: holds('the green key') or perm(Builder) 
    +
    open: holds('the green key') or perm(Builder)
     

    This could be called by the open command on a “door” object. The check is passed if you are a @@ -534,20 +414,20 @@ strength above 50 however and you’ll pick it up no problem. Done! A very heavy 12 13 14 -15

       
    +15
    
      from evennia import create_object
    -    
    +
         # create, then set the lock
         box = create_object(None, key="box")
         box.locks.add("get:attr_gt(strength, 50)")
    -    
    +
         # or we can assign locks in one go right away
         box = create_object(None, key="box", locks="get:attr_gt(strength, 50)")
    -    
    +
         # set the attributes
         box.db.desc = "This is a very big and heavy box."
         box.db.get_err_msg = "You are not strong enough to lift this box."
    -    
    +
         # one heavy box, ready to withstand all but the strongest...
     
    @@ -601,11 +481,6 @@ interface. It’s stand-alone from the permissions described above.

  • Checking simple strings
  • Default locks
  • - - -
  • Permissions
      -
    • Superusers
    • -
    • Quelling
    • More Lock definition examples
    • A complete example of setting locks on an object
    • On Django’s permission system
    • diff --git a/docs/1.0-dev/Components/Permissions.html b/docs/1.0-dev/Components/Permissions.html new file mode 100644 index 0000000000..2dcf41783c --- /dev/null +++ b/docs/1.0-dev/Components/Permissions.html @@ -0,0 +1,240 @@ + + + + + + + + + Permissions — Evennia 1.0-dev documentation + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      Permissions

      +

      A permission is simply a text string stored in the handler permissions on Objects +and Accounts. Think of it as a specialized sort of Tag - one specifically dedicated +to access checking. They are thus often tightly coupled to Locks.

      +

      Permissions are used as a convenient way to structure access levels and +hierarchies. It is set by the perm command. Permissions are especially +handled by the perm() and pperm() lock functions.

      +

      Let’s say we have a red_key object. We also have red chests that we want to unlock with this key.

      +
      perm red_key = unlocks_red_chests
      +
      +
      +

      This gives the red_key object the permission “unlocks_red_chests”. Next we +lock our red chests:

      +
      lock red chest = unlock:perm(unlocks_red_chests)
      +
      +
      +

      When trying to unlock the red chest with this key, the chest Typeclass could +then take the key and do an access check:

      +
       1
      + 2
      + 3
      + 4
      + 5
      + 6
      + 7
      + 8
      + 9
      +10
      +11
      # in some typeclass file where chest is defined
      +
      +class TreasureChest(Object):
      +
      +  # ...
      +
      +  def open_chest(self, who, tried_key):
      +
      +      if not chest.access(who, tried_key, "unlock"):
      +          who.msg("The key does not fit!")
      +          return
      +
      +
      +

      All new accounts are given a default set of permissions defined by +settings.PERMISSION_ACCOUNT_DEFAULT.

      +

      Selected permission strings can be organized in a permission hierarchy by editing the tuple +settings.PERMISSION_HIERARCHY. Evennia’s default permission hierarchy is as follows:

      +
       Developer        # like superuser but affected by locks
      + Admin            # can administrate accounts
      + Builder          # can edit the world
      + Helper           # can edit help files
      + Player           # can chat and send tells (default level)
      +
      +
      +

      (Also the plural form works, so you could use Developers etc too).

      +
      +

      There is also a Guest level below Player that is only active if settings.GUEST_ENABLED is +set. This is never part of settings.PERMISSION_HIERARCHY.

      +
      +

      The main use of this is that if you use the lock function perm() mentioned above, a lock check for +a particular permission in the hierarchy will also grant access to those with higher hierarchy +access. So if you have the permission “Admin” you will also pass a lock defined as perm(Builder) +or any of those levels below “Admin”.

      +

      When doing an access check from an Object or Character, the perm() lock function will +always first use the permissions of any Account connected to that Object before checking for +permissions on the Object. In the case of hierarchical permissions (Admins, Builders etc), the +Account permission will always be used (this stops an Account from escalating their permission by +puppeting a high-level Character). If the permission looked for is not in the hierarchy, an exact +match is required, first on the Account and if not found there (or if no Account is connected), then +on the Object itself.

      +

      Here is how you use perm to give an account more permissions:

      +
       perm/account Tommy = Builders
      + perm/account/del Tommy = Builders # remove it again
      +
      +
      +

      Note the use of the /account switch. It means you assign the permission to the +Accounts Tommy instead of any Character that also happens to be named +“Tommy”.

      +

      Putting permissions on the Account guarantees that they are kept, regardless of which Character +they are currently puppeting. This is especially important to remember when assigning permissions +from the hierarchy tree - as mentioned above, an Account’s permissions will overrule that of its +character. So to be sure to avoid confusion you should generally put hierarchy permissions on the +Account, not on their Characters (but see also quelling).

      +

      Below is an example of an object without any connected account

      +
      1
      +2
      +3
      +4
          obj1.permissions = ["Builders", "cool_guy"]
      +    obj2.locks.add("enter:perm_above(Accounts) and perm(cool_guy)")
      +
      +    obj2.access(obj1, "enter") # this returns True!
      +
      +
      +

      And one example of a puppet with a connected account:

      +
      1
      +2
      +3
      +4
      +5
          account.permissions.add("Accounts")
      +    puppet.permissions.add("Builders", "cool_guy")
      +    obj2.locks.add("enter:perm_above(Accounts) and perm(cool_guy)")
      +
      +    obj2.access(puppet, "enter") # this returns False!
      +
      +
      +
      +

      Superusers

      +

      There is normally only one superuser account and that is the one first created when starting +Evennia (User #1). This is sometimes known as the “Owner” or “God” user. A superuser has more than +full access - it completely bypasses all locks so no checks are even run. This allows for the +superuser to always have access to everything in an emergency. But it also hides any eventual errors +you might have made in your lock definitions. So when trying out game systems you should either use +quelling (see below) or make a second Developer-level character so your locks get tested correctly.

      +
      +
      +

      Quelling

      +

      The quell command can be used to enforce the perm() lockfunc to ignore permissions on the +Account and instead use the permissions on the Character only. This can be used e.g. by staff to +test out things with a lower permission level. Return to the normal operation with unquell. Note +that quelling will use the smallest of any hierarchical permission on the Account or Character, so +one cannot escalate one’s Account permission by quelling to a high-permission Character. Also the +superuser can quell their powers this way, making them affectable by locks.

      +
      +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/docs/1.0-dev/Components/Web-API.html b/docs/1.0-dev/Components/Web-API.html new file mode 100644 index 0000000000..87910bcb6b --- /dev/null +++ b/docs/1.0-dev/Components/Web-API.html @@ -0,0 +1,231 @@ + + + + + + + + + Evennia REST API — Evennia 1.0-dev documentation + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      Evennia REST API

      +

      Evennia makes its database accessible via a REST API found on +http://localhost:4001/api if running locally with +default setup. The API allows you to retrieve, edit and create resources from +outside the game, for example with your own custom client or game editor.

      +

      While you can view and learn about the api in the web browser, it is really +meant to be accessed in code, by other programs.

      +

      The API is using Django Rest Framework. This automates the process +of setting up views (Python code) to process the result of web requests. +The process of retrieving data is similar to that explained on the +Webserver page, except the views will here return JSON +data for the resource you want. You can also send such JSON data +in order to update the database from the outside.

      +
      +

      Usage

      +

      To activate the API, add this to your settings file.

      +
      REST_API_ENABLED = True
      +
      +
      +

      The main controlling setting is REST_FRAMEWORK, which is a dict. The keys +DEFAULT_LIST_PERMISSION and DEFAULT_CREATE_PERMISSIONS control who may +view and create new objects via the api respectively. By default, users with +‘Builder’-level permission or higher may access both actions.

      +

      While the api is meant to be expanded upon, Evennia supplies several operations +out of the box. If you click the Autodoc button in the upper right of the /api +website you’ll get a fancy graphical presentation of the available endpoints.

      +

      Here is an example of calling the api in Python using the standard requests library.

      +
      >>> import requests
      +>>> response = requests.get("https://www.mygame.com/api", auth=("MyUsername", "password123"))
      +>>> response.json()
      +{'accounts': 'http://www.mygame.com/api/accounts/',
      + 'objects': 'http://www.mygame.com/api/objects/',
      +'characters': 'http://www.mygame.comg/api/characters/',
      +'exits': 'http://www.mygame.com/api/exits/',
      +'rooms': 'http://www.mygame.com/api/rooms/',
      +'scripts': 'http://www.mygame.com/api/scripts/'
      +'helpentries': 'http://www.mygame.com/api/helpentries/' }
      +
      +
      +

      To list a specific type of object:

      +
      >>> response = requests.get("https://www.mygame.com/api/objects",
      +                            auth=("Myusername", "password123"))
      +>>> response.json()
      +{
      +"count": 125,
      +"next": "https://www.mygame.com/api/objects/?limit=25&offset=25",
      +"previous": null,
      +"results" : [{"db_key": "A rusty longsword", "id": 57, "db_location": 213, ...}]}
      +
      +
      +

      In the above example, it now displays the objects inside the “results” array, +while it has a “count” value for the number of total objects, and “next” and +“previous” links for the next and previous page, if any. This is called +pagination, and the link displays “limit” and “offset” as query +parameters that can be added to the url to control the output.

      +

      Other query parameters can be defined as filters which allow you to +further narrow the results. For example, to only get accounts with developer +permissions:

      +
      >>> response = requests.get("https://www.mygame.com/api/accounts/?permission=developer",
      +                            auth=("MyUserName", "password123"))
      +>>> response.json()
      +{
      +"count": 1,
      +"results": [{"username": "bob",...}]
      +}
      +
      +
      +

      Now suppose that you want to use the API to create an Object:

      +
      >>> data = {"db_key": "A shiny sword"}
      +>>> response = requests.post("https://www.mygame.com/api/objects",
      +                             data=data, auth=("Anotherusername", "mypassword"))
      +>>> response.json()
      +{"db_key": "A shiny sword", "id": 214, "db_location": None, ...}
      +
      +
      +

      Here we made a HTTP POST request to the /api/objects endpoint with the db_key +we wanted. We got back info for the newly created object. You can now make +another request with PUT (replace everything) or PATCH (replace only what you +provide). By providing the id to the endpoint (/api/objects/214), +we make sure to update the right sword:

      +
      >>> data = {"db_key": "An even SHINIER sword", "db_location": 50}
      +>>> response = requests.put("https://www.mygame.com/api/objects/214",
      +                            data=data, auth=("Anotherusername", "mypassword"))
      +>>> response.json()
      +{"db_key": "An even SHINIER sword", "id": 214, "db_location": 50, ...}
      +
      +
      +

      In most cases, you won’t be making API requests to the backend with Python, +but with Javascript from some frontend application. +There are many Javascript libraries which are meant to make this process +easier for requests from the frontend, such as AXIOS, or using +the native Fetch.

      +
      +
      +

      Customizing the API

      +

      Overall, reading up on Django Rest Framework ViewSets and +other parts of their documentation is required for expanding and +customizing the API.

      +

      Check out the Website page for help on how to override code, templates +and static files.

      +
        +
      • API templates (for the web-display) is located in evennia/web/api/templates/rest_framework/ (it must +be named such to allow override of the original REST framework templates).

      • +
      • Static files is in evennia/web/api/static/rest_framework/

      • +
      • The api code is located in evennia/web/api/ - the url.py file here is responsible for +collecting all view-classes.

      • +
      +

      Contrary to other web components, there is no pre-made urls.py set up for +mygame/web/api/. This is because the registration of models with the api is +strongly integrated with the REST api functionality. Easiest is probably to +copy over evennia/web/api/urls.py and modify it in place.

      +
      +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/docs/1.0-dev/Components/Web-Admin.html b/docs/1.0-dev/Components/Web-Admin.html new file mode 100644 index 0000000000..a00c65c4cb --- /dev/null +++ b/docs/1.0-dev/Components/Web-Admin.html @@ -0,0 +1,284 @@ + + + + + + + + + The Web Admin — Evennia 1.0-dev documentation + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      The Web Admin

      +

      The Evennia Web admin is a customized Django admin site +used for manipulating the game database using a graphical interface. You +have to be logged into the site to use it. It then appears as an Admin link +the top of your website. You can also go to http://localhost:4001/admin when +running locally.

      +

      Almost all actions done in the admin can also be done in-game by use of Admin- +or Builder-commands.

      +
      +

      Usage

      +

      The admin is pretty self-explanatory - you can see lists of each object type, +create new instances of each type and also add new Attributes/tags them. The +admin frontpage will give a summary of all relevant entities and how they are +used.

      +

      There are a few use cases that requires some additional explanation though.

      +
      +

      Adding objects to Attributes

      +

      The value field of an Attribute is pickled into a special form. This is usually not +something you need to worry about (the admin will pickle/unpickle) the value +for you), except if you want to store a database-object in an attribute. Such +objects are actually stored as a tuple with object-unique data.

      +
        +
      1. Find the object you want to add to the Attribute. At the bottom of the first section +you’ll find the field Serialized string. This string shows a Python tuple like

        +
        ('__packed_dbobj__', ('objects', 'objectdb'), '2021:05:15-08:59:30:624660', 358)
        +
        +
        +

        Mark and copy this tuple-string to your clipboard exactly as it stands (parentheses and all).

        +
      2. +
      3. Go to the entity that should have the new Attribute and create the Attribute. In its value +field, paste the tuple-string you copied before. Save!

      4. +
      5. If you want to store multiple objects in, say, a list, you can do so by literally +typing a python list [tuple, tuple, tuple, ...] where you paste in the serialized +tuple-strings with commas. At some point it’s probably easier to do this in code though …

      6. +
      +
      +
      +

      Linking Accounts and Characters

      +

      In MULTISESSION_MODE 0 or 1, each connection can have one Account and one +Character, usually with the same name. Normally this is done by the user +creating a new account and logging in - a matching Character will then be +created for them. You can however also do so manually in the admin:

      +
        +
      1. First create the complete Account in the admin.

      2. +
      3. Next, create the Object (usually of Character typeclass) and name it the same +as the Account. It also needs a command-set. The default CharacterCmdset is a good bet.

      4. +
      5. In the Puppeting Account field, select the Account.

      6. +
      7. Make sure to save everything.

      8. +
      9. Click the Link to Account button (this will only work if you saved first). This will +add the needed locks and Attributes to the Account to allow them to immediately +connect to the Character when they next log in. This will (where possible):

        +
          +
        • Set account.db._last_puppet to the Character.

        • +
        • Add Character to account.db._playabel_characters list.

        • +
        • Add/extend the puppet: lock on the Character to include puppet:pid(<Character.id>)

        • +
        +
      10. +
      +
      +
      +

      Building with the Admin

      +

      It’s possible (if probably not very practical at scale) to build and describe +rooms in the Admin.

      +
        +
      1. Create an Object of a Room-typeclass with a suitable room-name.

      2. +
      3. Set an Attribute ‘desc’ on the room - the value of this Attribute is the +room’s description.

      4. +
      5. Add Tags of type ‘alias’ to add room-aliases (no type for regular tags)

      6. +
      +

      Exits:

      +
        +
      1. Exits are Objects of an Exit typeclass, so create one.

      2. +
      3. The exit has Location of the room you just created.

      4. +
      5. Set Destination set to where the exit leads to.

      6. +
      7. Set a ‘desc’ Attribute, this is shown if someone looks at the exit.

      8. +
      9. Tags of type ‘alias’ are alternative names users can use to go through +this exit.

      10. +
      +
      +
      +
      +

      Grant others access to the admin

      +

      The access to the admin is controlled by the Staff status flag on the +Account. Without this flag set, even superusers will not even see the admin +link on the web page. The staff-status has no in-game equivalence.

      +

      Only Superusers can change the Superuser status flag, and grant new +permissions to accounts. The superuser is the only permission level that is +also relevant in-game. User Permissions and Groups found on the Account +admin page only affects the admin - they have no connection to the in-game +Permissions (Player, Builder, Admin etc).

      +

      For a staffer with Staff status to be able to actually do anything, the +superuser must grant at least some permissions for them on their Account. This +can also be good in order to limit mistakes. It can be a good idea to not allow +the Can delete Account permission, for example.

      +
      +

      Important

      +

      If you grant staff-status and permissions to an Account and they still cannot +access the admin’s content, try reloading the server.

      +
      +
      +

      Warning

      +

      If a staff member has access to the in-game py command, they can just as +well have their admin Superuser status set too. The reason is that py +grants them all the power they need to set the is_superuser flag on their +account manually. There is a reason access to the py command must be +considered carefully …

      +
      +
      +
      +

      Customizing the web admin

      +

      Customizing the admin is a big topic and something beyond the scope of this +documentation. See the official Django docs for +the details. This is just a brief summary.

      +

      See the Website page for an overview of the components going into +generating a web page. The Django admin uses the same principle except that +Django provides a lot of tools to automate the admin-generation for us.

      +

      Admin templates are found in evennia/web/templates/admin/ but you’ll find +this is relatively empty. This is because most of the templates are just +inherited directly from their original location in the Django package +(django/contrib/admin/templates/). So if you wanted to override one you’d have +to copy it from there into your mygame/templates/admin/ folder. Same is true +for CSS files.

      +

      The admin site’s backend code (the views) is found in evennia/web/admin/. It +is organized into admin-classes, like ObjectAdmin, AccountAdmin etc. +These automatically use the underlying database models to generate useful views +for us without us havint go code the forms etc ourselves.

      +

      The top level AdminSite (the admin configuration referenced in django docs) +is found in evennia/web/utils/adminsite.py.

      +
      +

      Change the title of the admin

      +

      By default the admin’s title is Evennia web admin. To change this, add the +following to your mygame/web/urls.py:

      +
       1
      + 2
      + 3
      + 4
      + 5
      + 6
      + 7
      + 8
      + 9
      +10
      # in mygame/web/urls.py
      +
      +# ...
      +
      +from django.conf.admin import site
      +
      +#...
      +
      +site.site_header = "My great game admin"
      +
      +
      +
      +

      Reload the server and the admin’s title header will have changed.

      +
      +
      +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/docs/1.0-dev/Components/Webclient.html b/docs/1.0-dev/Components/Webclient.html index 2b61dbb3c5..5299ff57b6 100644 --- a/docs/1.0-dev/Components/Webclient.html +++ b/docs/1.0-dev/Components/Webclient.html @@ -6,7 +6,7 @@ - Webclient — Evennia 1.0-dev documentation + Web Client — Evennia 1.0-dev documentation @@ -28,7 +28,7 @@ modules | - +
    develop branch
  • @@ -38,11 +38,8 @@
    -
    -

    Webclient

    -
    -
    -

    Web client

    +
    +

    Web Client

    Evennia comes with a MUD client accessible from a normal web browser. During development you can try it at http://localhost:4001/webclient. The client consists of several parts, all under evennia/web/webclient/:

    @@ -317,8 +314,7 @@ window.plugin_handler.add("myplugin", myplugin);

    Table of Contents

    diff --git a/docs/1.0-dev/Components/Webserver.html b/docs/1.0-dev/Components/Webserver.html index 5e8b353853..72c4684d2e 100644 --- a/docs/1.0-dev/Components/Webserver.html +++ b/docs/1.0-dev/Components/Webserver.html @@ -40,7 +40,75 @@

    Webserver

    -

    TODO: There is no central docs for this component yet.

    +

    When Evennia starts it also spins up its own Twisted-based web server. The +webserver is responsible for serving the html pages of the game’s website. It +can also serve static resources like images and music.

    +

    The webclient runs as part of the Server process of +Evennia. This means that it can directly access cached objects modified +in-game, and there is no risk of working with objects that are temporarily +out-of-sync in the database.

    +

    The webserver runs on Twisted and is meant to be used in a production +environment. It leverages the Django web framework and provides:

    +
      +
    • A Game Website - this is what you see when you go to +localhost:4001. The look of the website is meant to be customized to your +game. Users logged into the website will be auto-logged into the game if they +do so with the webclient since they share the same login credentials (there +is no way to safely do auto-login with telnet clients).

    • +
    • The Web Admin is based on the Django web admin and allows you to +edit the game database in a graphical interface.

    • +
    • The Webclient page is served by the webserver, but the actual +game communication (sending/receiving data) is done by the javascript client +on the page opening a websocket connection directly to Evennia’s Portal.

    • +
    • The Evennia REST-API allows for accessing the database from outside the game +(only if `REST_API_ENABLED=True).

    • +
    +
    +

    Basic Webserver data flow

    +
      +
    1. A user enters an url in their browser (or clicks a button). This leads to +the browser sending a HTTP request to the server containing an url-path +(like for https://localhost:4001/, the part of the url we need to consider +/). Other possibilities would be /admin/, /login/, /channels/ etc.

    2. +
    3. evennia (through Django) will make use of the regular expressions registered +in the urls.py file. This acts as a rerouter to views, which are +regular Python functions or callable classes able to process the incoming +request (think of these as similar to the right Evennia Command being +selected to handle your input - views are like Commands in this sense). In +the case of / we reroute to a view handling the main index-page of the +website.

    4. +
    5. The view code will prepare all the data needed by the web page. For the default +index page, this means gather the game statistics so you can see how many +are currently connected to the game etc.

    6. +
    7. The view will next fetch a template. A template is a HTML-document with special +‘placeholder’ tags (written as {{...}} or {% ... %} usually). These +placeholders allow the view to inject dynamic content into the HTML and make +the page customized to the current situation. For the index page, it means +injecting the current player-count in the right places of the html page. This +is called ‘rendering’ the template. The result is a complete HTML page.

    8. +
    9. (The view can also pull in a form to customize user-input in a similar way.)

    10. +
    11. The finished HTML page is packed into a HTTP response and returned to the +web browser, which can now display the page!

    12. +
    +
    +

    A note on the webclient

    +

    The web browser can also execute code directly without talking to the Server. +This code must be written/loaded into the web page and is written using the +Javascript programming language (there is no way around this, it is what web +browsers understand). Executing Javascript is something the web browser does, +it operates independently from Evennia. Small snippets of javascript can be +used on a page to have buttons react, make small animations etc that doesn’t +require the server.

    +

    In the case of the Webclient, Evennia will load the Webclient page +as above, but the page then initiates Javascript code (a lot of it) responsible +for actually displaying the client GUI, allows you to resize windows etc.

    +

    After it starts, the webclient ‘calls home’ and spins up a +websocket link to the Evennia Portal - this +is how all data is then exchanged. So after the initial loading of the +webclient page, the above sequence doesn’t happen again until close the tab and +come back or you reload it manually in your browser.

    +
    +
    @@ -63,6 +131,17 @@
    +

    Table of Contents

    + +
      diff --git a/docs/1.0-dev/Components/Website.html b/docs/1.0-dev/Components/Website.html new file mode 100644 index 0000000000..db7e078b46 --- /dev/null +++ b/docs/1.0-dev/Components/Website.html @@ -0,0 +1,542 @@ + + + + + + + + + Game website — Evennia 1.0-dev documentation + + + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      Game website

      +

      When Evennia starts it will also start a Webserver as part of the +Server process. This uses Django +to present a simple but functional default game website. With the default setup, +open your browser to localhost:4001 or 127.0.0.1:4001 +to see it.

      +

      The website allows existing players to log in using an account-name and +password they previously used to register with the game. If a user logs in with +the Webclient they will also log into the website and vice-versa. +So if you are logged into the website, opening the webclient will automatically +log you into the game as that account.

      +

      The default website shows a “Welcome!” page with a few links to useful +resources. It also shows some statistics about how many players are currently +connected.

      +

      In the top menu you can find

      +
        +
      • Home - Get back to front page.

      • +
      • Documentation - A link to the latest stable Evennia documentation.

      • +
      • Characters - This is a demo of connecting in-game characters to the website. +It will display a list of all entities of the +_typeclasses.characters.Character` typeclass and allow you to view their +description with an optional image. The list is only available to logged-in +users.

      • +
      • Channels - This is a demo of connecting in-game chats to the website. It will +show a list of all channels available to you and allow you to view the latest +discussions. Most channels require logging in, but the Public channel can +also be viewed by non-loggedin users.

      • +
      • Help - This ties the in-game Help system to the website. All +database-based help entries that are publicly available or accessible to your +account can be read. This is a good way to present a body of help for people +to read outside of the game.

      • +
      • Play Online - This opens the Webclient in the browser.

      • +
      • Admin The [Web admin](Web admin) will only show if you are logged in.

      • +
      • Log in/out - Allows you to authenticate using the same credentials you use +in the game.

      • +
      • Register - Allows you to register a new account. This is the same as +creating a new account upon first logging into the game).

      • +
      +
      +

      Modifying the default Website

      +

      You can modify and override all aspects of the web site from your game dir. +You’ll mostly be doing so in your settings file +(mygame/server/conf/settings.py and in the gamedir’s web/folder +(mygame/web/ if your game folder is mygame/).

      +
      +

      When testing your modifications, it’s a good idea to add DEBUG = True to +your settings file. This will give you nice informative tracebacks directly +in your browser instead of generic 404 or 500 error pages. Just remember that +DEBUG mode leaks memory (for retaining debug info) and is not safe to use +for a production game!

      +
      +

      As explained on the Webserver page, the process for getting a web +page is

      +
        +
      1. Web browser sends HTTP request to server with an URL

      2. +
      3. urls.py uses regex to match that URL to a view (a Python function or callable class).

      4. +
      5. The correct Python view is loaded and executes.

      6. +
      7. The view pulls in a template, a HTML document with placeholder markers in it, +and fills those in as needed (it may also use a form to customize user-input in the same way). +A HTML page may also in turn point to static resources (usually CSS, sometimes images etc).

      8. +
      9. The rendered HTML page is returned to the browser as a HTTP response. If +the HTML page requires static resources are requested, the browser will +fetch those separately before displaying it to the user.

      10. +
      +

      If you look at the evennia/web/ directory you’ll find the following +structure (leaving out stuff not relevant to the website):

      +
        evennia/web/
      +    ...
      +    static/
      +        website/
      +            css/
      +               (css style files)
      +            images/
      +               (images to show)
      +
      +    templates/
      +        website/
      +          (html files)
      +
      +    website/
      +      urls.py
      +      views/
      +        (python files related to website)
      +
      +    urls.py
      +
      +
      +

      The top-level web/urls.py file ‘includes’ the web/website/urls.py file - +that way all the website-related url-handling is kept in the same place.

      +

      This is the layout of the mygame/web/ folder relevant for the website:

      +
        mygame/web/
      +    ...
      +    static/
      +      website/
      +        css/
      +        images/
      +
      +    templates/
      +      website/
      +
      +      website/
      +        urls.py
      +        views/
      +
      +    urls.py
      +
      +
      +
      +

      Changed in version 1.0: Game folders created with older versions of Evennia will lack most of this +convenient mygame/web/ layout. If you use a game dir from an older version, +you should copy over the missing evennia/game_template/web/ folders from +there, as well as the main urls.py file.

      +
      +

      As you can see, the mygame/web/ folder is a copy of the evennia/web/ folder +structure except the mygame folders are mostly empty.

      +

      For static- and template-files, Evennia will first +look in mygame/static and mygame/templates before going to the default +locations in evennia/web/. So override these resources, you just need to put +a file with the same name in the right spot under mygame/web/ (and then +reload the server). Easiest is often to copy the original over and modify it.

      +

      Overridden views (Python modules) also need an additional tweak to the +website/urls.py file - you must make sure to repoint the url to the new +version rather than it using the original.

      +
      +
      +

      Examples of commom web changes

      +
      +

      Important

      +

      Django is a very mature web-design framework. There are endless +internet-tutorials, courses and books available to explain how to use Django. +So these examples only serve as a first primer to get you started.

      +
      +
      +

      Change Title and blurb

      +

      The website’s title and blurb are simply changed by tweaking +settings.SERVERNAME and settings.GAME_SLOGAN. Your settings file is in +mygame/server/conf/settings.py, just set/add

      +
      SERVERNAME = "My Awesome Game"
      +GAME_SLOGAN = "The best game in the world"
      +
      +
      +
      + +
      +

      Change front page HTML

      +

      The front page of the website is usually referred to as the ‘index’ in HTML +parlance.

      +

      The frontpage template is found in evennia/web/templates/website/index.html. +Just copy this to the equivalent place in mygame/web/. Modify it there and +reload the server to see your changes.

      +

      Django templates has a few special features that separate them from normal HTML +documents - they contain a special templating language marked with {% ... %} and +{{ ... }}.

      +

      Some important things to know:

      +
        +
      • {% extends "base.html" %} - This is equivalent to a Python +from othermodule import * statement, but for templates. It allows a given template +to use everything from the imported (extended) template, but also to override anything +it wants to change. This makes it easy to keep all pages looking the same and avoids +a lot of boiler plate.

      • +
      • {% block blockname %}...{% endblock %} - Blocks are inheritable, named pieces of code +that are modified in one place and then used elsewhere. This works a bit in reverse to +normal inheritance, because it’s commonly in such a way that base.html defines an empty +block, let’s say contents: {% block contents %}{% endblock %} but makes sure to put +that in the right place, say in the main body, next to the sidebar etc. Then each page +does {% extends "base.html %"} and makes their own {% block contents} <actual content> {% endblock %}. +Their contents block will now override the empty one in base.html and appear in the right +place in the document, without the extending template having to specifying everything else +around it!

      • +
      • {{ ... }} are ‘slots’ usually embedded inside HTML tags or content. They reference a +context (basically a dict) that the Python view makes available to it. +Keys on the context are accessed with dot-notation, so if you provide a +context {"stats": {"hp": 10, "mp": 5}} to your template, you could access +that as {{ stats.hp }} to display 10 at that location to display 10 at +that location.

      • +
      +

      This allows for template inheritance (making it easier to make all +pages look the same without rewriting the same thing over and over)

      +

      There’s a lot more information to be found in the Django template language documentation.

      +
      +
      +

      Change webpage colors and styling

      +

      You can tweak the CSS of the entire +website. If you investigate the evennia/web/templates/website/base.html file you’ll see that we +use the Bootstrap +4 toolkit.

      +

      Much structural HTML functionality is actually coming from bootstrap, so you +will often be able to just add bootstrap CSS classes to elements in the HTML +file to get various effects like text-centering or similar.

      +

      The website’s custom CSS is found in +evennia/web/static/website/css/website.css but we also look for a (currently +empty) custom.css in the same location. You can override either, but it may +be easier to revert your changes if you only add things to custom.css.

      +

      Copy the CSS file you want to modify to the corresponding location in mygame/web. +Modify it and reload the server to see your changes.

      +

      You can also apply static files without reloading, but running this in the +terminal:

      +
      evennia collectstatic --no-input
      +
      +
      +

      (this is run automatically when reloading the server).

      +
      +

      Note that before you see new CSS files applied you may need to refresh your +browser without cache (Ctrl-F5 in Firefox, for example).

      +
      +

      As an example, add/copy custom.css to mygame/web/static/website/css/ and +add the following:

      +
      1
      +2
      +3
      +4
      +5
      +6
      +7
      .navbar {
      +  background-color: #7a3d54;
      +}
      +
      +.footer {
      +  background-color: #7a3d54;
      +}
      +
      +
      +

      Reload and your website now has a red theme!

      +
      +

      Hint: Learn to use your web browser’s Developer tools. +These allow you to tweak CSS ‘live’ to find a look you like and copy it into +the .css file only when you want to make the changes permanent.

      +
      +
      +
      +

      Change front page functionality

      +

      The logic is all in the view. To find where the index-page view is found, we +look in evennia/web/website/urls.py. Here we find the following line:

      +
      1
      +2
      +3
      +4
      +5
      +6
      # in evennia/web/website/urls.py
      +
      +  ...
      +  # website front page
      +  path("", index.EvenniaIndexView.as_view(), name="index"),
      +  ...
      +
      +
      +

      The first "" is the empty url - root - what you get if you just enter localhost:4001/ +with no extra path. As expected, this leads to the index page. By looking at the imports +we find the view is in in evennia/web/website/views/index.py.

      +

      Copy this file to the corresponding location in mygame/web. Then tweak your mygame/web/website/urls.py +file to point to the new file:

      +
       1
      + 2
      + 3
      + 4
      + 5
      + 6
      + 7
      + 8
      + 9
      +10
      +11
      # in mygame/web/website/urls.py
      +
      +# ...
      +
      +from web.website.views import index
      +
      +urlpatterns = [
      +    path("", index.EvenniaIndexView.as_view(), name="index")
      +
      +]
      +# ...
      +
      +
      +

      So we just import index from the new location and point to it. After a reload +the front page will now redirect to use your copy rather than the original.

      +

      The frontpage view is a class EvenniaIndexView. This is a Django class-based view. +It’s a little less visible what happens in a class-based view than in a function (since +the class implements a lot of functionality as methods), but it’s powerful and +much easier to extend/modify.

      +

      The class property template_name sets the location of the template used under +the templates/ folder. So website/index.html points to +web/templates/website/index.html (as we already explored above.

      +

      The get_context_data is a convenient method for providing the context for the +template. In the index-page’s case we want the game stats (number of recent +players etc). These are then made available to use in {{ ... }} slots in the +template as described in the previous section.

      +
      +
      +

      Change other website pages

      +

      The other sub pages are handled in the same way - copy the template or static +resource to the right place, or copy the view and repoint your website/urls.py to +your copy. Just remember to reload.

      +
      +
      +
      +

      Adding a new web page

      +
      +

      Using Flat Pages

      +

      The absolutely simplest way to add a new web page is to use the Flat Pages +app available in the Web Admin. The page will appear with the same +styling as the rest of the site.

      +

      For the Flat pages module to work you must first set up a Site (or +domain) to use. You only need to this once.

      +
        +
      • Go to the Web admin and select Sites. If your +game is at mygreatgame.com, that’s the domain you need to add. For local +experimentation, add the domain localhost:4001. Note the id of the domain +(look at the url when you click on the new domain, if it’s for example +http://localhost:4001/admin/sites/site/2/change/, then the id is 2).

      • +
      • Now add the line SITE_ID = <id> to your settings file.

      • +
      +

      Next you create new pages easily.

      +
        +
      • Go the Flat Pages web admin and choose to add a new flat page.

      • +
      • Set the url. If you want the page to appear as e.g. localhost:4001/test/, then +add /test/ here. You need to add both leading and trailing slashes.

      • +
      • Set Title to the name of the page.

      • +
      • The Content is the HTML content of the body of the page. Go wild!

      • +
      • Finally pick the Site you made before, and save.

      • +
      • (in the advanced section you can make it so that you have to login to see the page etc).

      • +
      +

      You can now go to localhost:4001/test/ and see your new page!

      +
      +
      +

      Add Custom new page

      +

      The Flat Pages page doesn’t allow for (much) dynamic content and customization. For +this you need to add the needed components yourself.

      +

      Let’s see how to make a /test/ page from scratch.

      +
        +
      • Add a new test.html file under mygame/web/templates/website/. Easiest is to base +this off an existing file. Make sure to {% extend base.html %} if you want to +get the same styling as the rest of your site.

      • +
      • Add a new view testview.py under mygame/web/website/views/ (don’t name it test.py or +Django/Evennia will think it contains unit tests). Add a view there to process +your page. This is a minimal view to start from (read much more in the Django docs):

        +
        1
        +2
        +3
        +4
        +5
        +6
        +7
        # mygame/web/website/views/testview.py
        +
        +from django.views.generic import TemplateView
        +
        +class MyTestView(TemplateView):
        +    template_name = "website/test.html"
        +
        +
        +
        +
      • +
      • Finally, point to your view from the mygame/web/website/urls.py:

        +
         1
        + 2
        + 3
        + 4
        + 5
        + 6
        + 7
        + 8
        + 9
        +10
        # in mygame/web/website/urls.py
        +
        +# ...
        +from web.website.views import testview
        +
        +urlpatterns = [
        +    # ...
        +    # we can skip the initial / here
        +    path("test/", testview.MyTestView.as_view())
        +]
        +
        +
        +
      • +
      • Reload the server and your new page is available. You can now continue to add +all sorts of advanced dynamic content through your view and template!

      • +
      +
      +
      +
      +

      User forms

      +

      All the pages created so far deal with presenting information to the user. +It’s also possible for the user to input data on the page through forms. An +example would be a page of fields and sliders you fill in to create a +character, with a big ‘Submit’ button at the bottom.

      +

      Firstly, this must be represented in HTML. The <form> ... </form> is a +standard HTML element you need to add to your template. It also has some other +requirements, such as <input> and often Javascript components as well (but +usually Django will help with this). If you are unfamiliar with how HTML forms +work, read about them here.

      +

      The basic gist of it is that when you click to ‘submit’ the form, a POST HTML +request will be sent to the server containing the data the user entered. It’s +now up to the server to make sure the data makes sense (validation) and then +process the input somehow (like creating a new character).

      +

      On the backend side, we need to specify the logic for validating and processing +the form data. This is done by the Form Django class. +This specifies fields on itself that define how to validate that piece of data.

      +

      The form is then linked into the view-class by adding form_class = MyFormClass to +the view (next to template_name).

      +

      There are several example forms in evennia/web/website/forms.py. It’s also a good +idea to read Building a form in Django +on the Django website - it covers all you need.

      +
      +
      + + +
      +
      +
      +
      + +
      +
      + + + + \ No newline at end of file diff --git a/docs/1.0-dev/Concepts/Internationalization.html b/docs/1.0-dev/Concepts/Internationalization.html index b7b813d284..a28a7e615b 100644 --- a/docs/1.0-dev/Concepts/Internationalization.html +++ b/docs/1.0-dev/Concepts/Internationalization.html @@ -40,88 +40,99 @@

      Internationalization

      -

      Internationalization (often abbreviated i18n since there are 18 characters between the first “i” -and the last “n” in that word) allows Evennia’s core server to return texts in other languages than -English - without anyone having to edit the source code. Take a look at the locale directory of -the Evennia installation, there you will find which languages are currently supported.

      +

      Internationalization (often abbreviated i18n since there are 18 characters +between the first “i” and the last “n” in that word) allows Evennia’s core +server to return texts in other languages than English - without anyone having +to edit the source code. Take a look at the locale directory of the Evennia +installation, there you will find which languages are currently supported.

      Changing server language

      -

      Change language by adding the following to your mygame/server/conf/settings.py file:

      +

      Change language by adding the following to your mygame/server/conf/settings.py +file:

      1
      -2
          USE_I18N = True
      +2
      +3
      
      +    USE_I18N = True
           LANGUAGE_CODE = 'en'
       
      -

      Here 'en' should be changed to the abbreviation for one of the supported languages found in -locale/. Restart the server to activate i18n. The two-character international language codes are -found here.

      +

      Here 'en' should be changed to the abbreviation for one of the supported +languages found in locale/. Restart the server to activate i18n. The +two-character international language codes are found +here.

      -

      Windows Note: If you get errors concerning gettext or xgettext on Windows, see the Django -documentation. A -self-installing and up-to-date version of gettext for Windows (32/64-bit) is available on -Github.

      +

      Windows Note: If you get errors concerning gettext or xgettext on Windows, +see the +Django documentation. +A self-installing and up-to-date version of gettext for Windows (32/64-bit) is +available on Github.

      Translating Evennia

      -
      -

      Important Note: Evennia offers translations of hard-coded strings in the server, things like -“Connection closed” or “Server restarted”, strings that end users will see and which game devs are -not supposed to change on their own. Text you see in the log file or on the command line (like error -messages) are generally not translated (this is a part of Python).

      -
      -
      -

      In addition, text in default Commands and in default Typeclasses will not be translated by -switching i18n language. To translate Commands and Typeclass hooks you must overload them in your -game directory and translate their returns to the language you want. This is because from Evennia’s -perspective, adding i18n code to commands tend to add complexity to code that is meant to be -changed anyway. One of the goals of Evennia is to keep the user-changeable code as clean and easy- -to-read as possible.

      -
      -

      If you cannot find your language in evennia/locale/ it’s because noone has translated it yet. -Alternatively you might have the language but find the translation bad … You are welcome to help -improve the situation!

      -

      To start a new translation you need to first have cloned the Evennia repositry with GIT and -activated a python virtualenv as described on the Setup Quickstart page. You now -need to cd to the evennia/ directory. This is not your created game folder but the main -Evennia library folder. If you see a folder locale/ then you are in the right place. From here you -run:

      -
       evennia makemessages <language-code>
      +
      +

      Important

      +

      Evennia offers translations of hard-coded strings in the server, things like +“Connection closed” or “Server restarted”, strings that end users will see and +which game devs are not supposed to change on their own. Text you see in the log +file or on the command line (like error messages) are generally not translated +(this is a part of Python).

      +

      In addition, text in default Commands and in default Typeclasses will not be +translated by switching i18n language. To translate Commands and Typeclass +hooks you must overload them in your game directory and translate their returns +to the language you want. This is because from Evennia’s perspective, adding +i18n code to commands tend to add complexity to code that is meant to be +changed anyway. One of the goals of Evennia is to keep the user-changeable code +as clean and easy- to-read as possible.

      +
      +

      Translations are found in the core evennia/ library, under +evennia/evennia/locale/. You must make sure to have cloned this repository +from Evennia’s github before you can proceed.

      +

      If you cannot find your language in evennia/evennia/locale/ it’s because noone has +translated it yet. Alternatively you might have the language but find the +translation bad … You are welcome to help improve the situation!

      +

      To start a new translation you need to first have cloned the Evennia repositry +with GIT and activated a python virtualenv as described on the Setup +Quickstart page.

      +

      Go to evennia/evennia/ - that is, not your game dir, but inside the evennia/ +repo itself. If you see the locale/ folder you are in the right place. Make +sure your virtualenv is active so the evennia command is available. Then run

      +
       evennia makemessages --locale <language-code>
       

      where <language-code> is the two-letter locale code -for the language you want, like ‘sv’ for Swedish or ‘es’ for Spanish. After a moment it will tell -you the language has been processed. For instance:

      -
       evennia makemessages sv
      +for the language you want to translate, like ‘sv’ for Swedish or ‘es’ for
      +Spanish. After a moment it will tell you the language has been processed.  For
      +instance:

      +
       evennia makemessages --locale sv
       
      -

      If you started a new language a new folder for that language will have emerged in the locale/ -folder. Otherwise the system will just have updated the existing translation with eventual new -strings found in the server. Running this command will not overwrite any existing strings so you can -run it as much as you want.

      -
      -

      Note: in Django, the makemessages command prefixes the locale name by the -l option (... makemessages -l sv for instance). This syntax is not allowed in Evennia, due to the fact that -l -is the option to tail log files. Hence, makemessages doesn’t use the -l flag.

      -
      -

      Next head to locale/<language-code>/LC_MESSAGES and edit the **.po file you find there. You can -edit this with a normal text editor but it is easiest if you use a special po-file editor from the -web (search the web for “po editor” for many free alternatives).

      -

      The concept of translating is simple, it’s just a matter of taking the english strings you find in -the **.po file and add your language’s translation best you can. The **.po format (and many -supporting editors) allow you to mark translations as “fuzzy”. This tells the system (and future -translators) that you are unsure about the translation, or that you couldn’t find a translation that -exactly matched the intention of the original text. Other translators will see this and might be -able to improve it later. -Finally, you need to compile your translation into a more efficient form. Do so from the evennia -folder -again:

      +

      If you started a new language, a new folder for that language will have emerged +in the locale/ folder. Otherwise the system will just have updated the +existing translation with eventual new strings found in the server. Running this +command will not overwrite any existing strings so you can run it as much as you +want.

      +

      Next head to locale/<language-code>/LC_MESSAGES and edit the **.po file you +find there. You can edit this with a normal text editor but it is easiest if +you use a special po-file editor from the web (search the web for “po editor” +for many free alternatives).

      +

      The concept of translating is simple, it’s just a matter of taking the english +strings you find in the **.po file and add your language’s translation best +you can. The **.po format (and many supporting editors) allow you to mark +translations as “fuzzy”. This tells the system (and future translators) that you +are unsure about the translation, or that you couldn’t find a translation that +exactly matched the intention of the original text. Other translators will see +this and might be able to improve it later. Finally, you need to compile your +translation into a more efficient form. Do so from the evennia folder again:

      evennia compilemessages
       
      -

      This will go through all languages and create/update compiled files (**.mo) for them. This needs -to be done whenever a **.po file is updated.

      -

      When you are done, send the **.po and *.mo file to the Evennia developer list (or push it into -your own repository clone) so we can integrate your translation into Evennia!

      +

      This will go through all languages and create/update compiled files (**.mo) +for them. This needs to be done whenever a **.po file is updated.

      +

      When you are done, make sure that everyone can benefit from your translation! +Make a PR against Evennia with the updated **.po and *.mo files. Less +ideally (if git is not your thing) you can also attach them to a new post in our +forums.

      diff --git a/docs/1.0-dev/Setup/HAProxy-Config.html b/docs/1.0-dev/Setup/HAProxy-Config.html index 62f3ea6a83..8a03a6d5a0 100644 --- a/docs/1.0-dev/Setup/HAProxy-Config.html +++ b/docs/1.0-dev/Setup/HAProxy-Config.html @@ -6,7 +6,7 @@ - HAProxy Config (Optional) — Evennia 1.0-dev documentation + Making Evennia, HTTPS and WSS (Secure Websockets) play nicely together — Evennia 1.0-dev documentation @@ -28,7 +28,7 @@ modules | - +
    develop branch
    @@ -38,65 +38,256 @@
    -
    -

    HAProxy Config (Optional)

    -
    -

    Evennia, HTTPS and Secure Websockets can play nicely together, quickly.

    -

    This sets up HAProxy 1.5+ in front of Evennia to provide security.

    -

    Installing HAProxy is usually as simple as:

    -
    # Redhat derivatives
    -yum install haproxy
    -# dnf instead of yum for very recent Fedora distros.
    +  
    +

    Making Evennia, HTTPS and WSS (Secure Websockets) play nicely together

    +

    A modern public-facing website should these days be served via encrypted +connections. So https: rather than http: for the website and +wss: rather than vs ws: for websocket connections used by webclient.

    +

    The reason is security - not only does it make sure a user ends up at the right +site (rather than a spoof that hijacked the original’s address), it stops an +evil middleman from snooping on data (like passwords) being sent across the +wire.

    +

    Evennia itself does not implement https/wss connections. This is something best +handled by dedicated tools able to keep up-to-date with the latest security +practices.

    +

    So what we’ll do is install proxy between Evennia and the outgoing ports of +your server. Essentially, Evennia will think it’s only running locally (on +localhost, IP 127.0.0.1) while the proxy will transparently map that to the +“real” outgoing ports and handle HTTPS/WSS for us.

    +
             Evennia
    +            |
    +(inside-only local IP/ports serving HTTP/WS)
    +            |
    +          Proxy
    +            |
    +(outside-visible public IP/ports serving HTTPS/WSS)
    +            |
    +         Firewall
    +            |
    +         Internet
     
    -

    or

    -
    # Debian derivatives
    -apt install haproxy
    +

    These instructions assume you run a server with Unix/Linux (very common if you +use remote hosting) and that you have root access to that server.

    +

    The pieces we’ll need:

    +
      +
    • HAProxy - an open-source proxy program that is +easy to set up and use.

    • +
    • LetsEncrypt for providing the User +Certificate needed to establish an encrypted connection. In particular we’ll +use the excellent Certbot program, +which automates the whole certificate setup process with LetsEncrypt.

    • +
    • cron - this comes with all Linux/Unix systems and allows to automate tasks +in the OS.

    • +
    +

    Before starting you also need the following information and setup:

    +
      +
    • (optional) The host name of your game. This is +something you must previously have purchased from a domain registrar and set +up with DNS to point to the IP of your server. For the benefit of this +manual, we’ll assume your host name is my.awesomegame.com.

    • +
    • If you don’t have a domain name or haven’t set it up yet, you must at least +know the IP address of your server. Find this with ifconfig or similar from +inside the server. If you use a hosting service like DigitalOcean you can also +find the droplet’s IP address in the control panel. Use this as the host name +everywhere.

    • +
    • You must open port 80 in your firewall. This is used by Certbot below to +auto-renew certificates. So you can’t really run another webserver alongside +this setup without tweaking.

    • +
    • You must open port 443 (HTTPS) in your firewall. This will be the external +webserver port.

    • +
    • Make sure port 4001 (internal webserver port) is not open in your firewall +(it usually will be closed by default unless you explicitly opened it +previously).

    • +
    • Open port 4002 in firewall (we’ll use the same number for both internal- +and external ports, the proxy will only show the safe one serving wss).

    • +
    +
    +
    +

    Getting certificates

    +

    Certificates guarantee that you are you. Easiest is to get this with +Letsencrypt and the +Certbot program. Certbot has a lot of +install instructions for various operating systems. Here’s for Debian/Ubuntu:

    +
    sudo apt install certbot
     
    -

    Configuration of HAProxy requires a single file given as an argument on the command line:

    -
    haproxy -f /path/to/config.file
    +

    Make sure to stop Evennia and that no port-80 using service is running, then

    +
    sudo certbot certonly --standalone
     
    -

    In it (example using haproxy 1.5.18 on Centos7):

    -
    # stuff provided by the default haproxy installs
    -global
    -    log /dev/log local0
    -    chroot /var/lib/haproxy
    -    maxconn  4000
    -    user  haproxy
    -defaults
    -    mode http
    -    option forwardfor
    +

    You will get some questions you need to answer, such as an email to send +certificate errors to and the host name (or IP, supposedly) to use with this +certificate. After this, the certificates will end up in +/etc/letsencrypt/live/<yourhostname>/*pem (example from Ubuntu). The +critical files for our purposes are fullchain.pem and privkey.pem.

    +

    Certbot sets up a cron-job/systemd job to regularly renew the certificate. To +check this works, try

    +
    sudo certbot renew --dry-run
    +
    +
    +

    The certificate is only valid for 3 months at a time, so make sure this test +works (it requires port 80 to be open). Look up Certbot’s page for more help.

    +

    We are not quite done. HAProxy expects these two files to be one file. More +specifically we are going to

    +
      +
    1. copy privkey.pem and copy it to a new file named <yourhostname>.pem (like +my.awesomegame.com.pem)

    2. +
    3. Append the contents of fullchain.pem to the end of this new file. No empty +lines are needed.

    4. +
    +

    We could do this by copy&pasting in a text editor, but here’s how to do it with +shell commands (replace the example paths with your own):

    +
    cd /etc/letsencrypt/live/my.awesomegame.com/
    +sudo cp privkey.pem my.awesomegame.com.pem
    +sudo cat fullchain.pem >> my.awesomegame.com.pem
    +
    +
    +

    The new my.awesomegame.com.pem file (or whatever you named it) is what we will +point to in the HAProxy config below.

    +

    There is a problem here though - Certbot will (re)generate fullchain.pem for +us automatically a few days before before the 3-month certificate runs out. +But HAProxy will not see this because it is looking at the combined file that +will still have the old fullchain.pem appended to it.

    +

    We’ll set up an automated task to rebuild the .pem file regularly by +using the cron program of Unix/Linux.

    +
    crontab -e
    +
    +
    +

    An editor will open to the crontab file. Add the following at the bottom (all +on one line, and change the paths to your own!):

    +
    0 5 * * * cd /etc/letsencrypt/live/my.awesomegame.com/ &&
    +    cp privkey.pem my.awesomegame.com.pem &&
    +    cat fullchain.pem >> my.awesomegame.com.pem
    +
    +
    +

    Save and close the editor. Every night at 05:00 (5 AM), the +my.awesomegame.com.pem will now be rebuilt for you. Since Certbot updates +the fullchain.pem file a few days before the certificate runs out, this should +be enough time to make sure HaProxy never sees an outdated certificate.

    +
    +
    +

    Installing and configuring HAProxy

    +

    Installing HaProxy is usually as simple as:

    +
    # Debian derivatives (Ubuntu, Mint etc)
    +sudo apt install haproxy
    +
    +# Redhat derivatives (dnf instead of yum for very recent Fedora distros)
    +sudo yum install haproxy
    +
    +
    +

    Configuration of HAProxy is done in a single file. This can be located wherever +you like, for now put in your game dir and name it haproxy.cfg.

    +

    Here is an example tested on Centos7 and Ubuntu. Make sure to change the file to +put in your own values.

    +

    We use the my.awesomegame.com example here and here are the ports

    +
      +
    • 443 is the standard SSL port

    • +
    • 4001 is the standard Evennia webserver port (firewall closed!)

    • +
    • 4002 is the default Evennia websocket port (we use the same number for +the outgoing wss port, so this should be open in firewall).

    • +
    +
     1
    + 2
    + 3
    + 4
    + 5
    + 6
    + 7
    + 8
    + 9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    +26
    +27
    # base stuff to set up haproxy
    +global
    +    log /dev/log local0
    +    chroot /var/lib/haproxy
    +    maxconn  4000
    +    user  haproxy
    +    tune.ssl.default-dh-param 2048
    +    ## uncomment this when everything works
    +    # daemon
    +defaults
    +    mode http
    +    option forwardfor
     
     # Evennia Specifics
    -listen evennia-https-website
    -    bind <public-ip-address>:<public-SSL-port--probably-443> ssl no-sslv3 no-tlsv10 crt
    -/path/to/your-cert.pem
    -    server localhost 127.0.0.1:<evennia-web-port-probably-4001>
    +listen evennia-https-website
    +    bind my.awesomegame.com:443 ssl no-sslv3 no-tlsv10 crt /etc/letsencrypt/live/my.awesomegame.com>/my.awesomegame.com.pem
    +    server localhost 127.0.0.1:4001
    +    timeout client 10m
    +    timeout server 10m
    +    timeout connect 5m
     
    -listen evennia-secure-websocket
    -    bind <public-ip-address>:<WEBSOCKET_CLIENT_URL 4002> ssl no-sslv3 no-tlsv10 crt /path/to/your-
    -cert.pem
    -    server localhost 127.0.0.1:<WEBSOCKET_CLIENT_URL 4002>
    -    timeout client 10m
    -    timeout server 10m
    +listen evennia-secure-websocket
    +    bind my.awesomegame.com:4002 ssl no-sslv3 no-tlsv10 crt /etc/letsencrypt/live/my.awesomegame.com/my.awesomegame.com.pem
    +    server localhost 127.0.0.1:4002
    +    timeout client 10m
    +    timeout server 10m
    +    timeout connect 5m
     
    - -

    Then edit mygame/server/conf/settings.py and add:

    +
    +
    +
    +

    Putting it all together

    +

    Get back to the Evennia game dir and edit mygame/server/conf/settings.py. Add:

    WEBSERVER_INTERFACES = ['127.0.0.1']
     WEBSOCKET_CLIENT_INTERFACE = '127.0.0.1'
     
    -

    or

    -
    LOCKDOWN_MODE=True
    -
    -

    and

    -
    WEBSOCKET_CLIENT_URL="wss://yourhost.com:4002/"
    +
    WEBSOCKET_CLIENT_URL="wss://my.awesomegame.com:4002/"
     
    -
    +

    Make sure to reboot (stop + start) evennia completely:

    +
    evennia reboot
    +
    +
    +

    Finally you start the proxy:

    +
    sudo haproxy -f /path/to/the/above/haproxy.cfg
    +
    +
    +

    Make sure you can connect to your game from your browser and that you end up +with an https:// page and can use the websocket webclient.

    +

    Once everything works you may want to start the proxy automatically and in the +background. Stop the proxy with Ctrl-C and make sure to uncomment the line # daemon in the config file.

    +

    If you have no other proxies running on your server, you can copy your +haproxy.conf file to the system-wide settings:

    +
    sudo cp /path/to/the/above/haproxy.cfg /etc/haproxy/
    +
    +
    +

    The proxy will now start on reload and you can control it with

    +
    sudo service haproxy start|stop|restart|status
    +
    +
    +

    If you don’t want to copy stuff into /etc/ you can also run the haproxy purely +out of your current location by running it with cron on server restart. Open +the crontab again:

    +
    sudo crontab -e
    +
    +
    +

    Add a new line to the end of the file:

    +
    @reboot haproxy -f /path/to/the/above/haproxy.cfg
    +
    +
    +

    Save the file and haproxy should start up automatically when you reboot the +server. Next just restart the proxy manually a last time - with daemon +uncommented in the config file, it will now start as a background process.

    @@ -121,10 +312,10 @@

    Table of Contents

    diff --git a/docs/1.0-dev/_modules/evennia/accounts/accounts.html b/docs/1.0-dev/_modules/evennia/accounts/accounts.html index ea77e74b43..983d719efc 100644 --- a/docs/1.0-dev/_modules/evennia/accounts/accounts.html +++ b/docs/1.0-dev/_modules/evennia/accounts/accounts.html @@ -41,7 +41,7 @@

    Source code for evennia.accounts.accounts

     """
    -Typeclass for Account objects
    +Typeclass for Account objects.
     
     Note that this object is primarily intended to
     store OOC information, not game info! This
    @@ -93,9 +93,11 @@
     _CONNECT_CHANNEL = None
     _CMDHANDLER = None
     
    +
     # Create throttles for too many account-creations and login attempts
     CREATION_THROTTLE = Throttle(
    -    name='creation', limit=settings.CREATION_THROTTLE_LIMIT, timeout=settings.CREATION_THROTTLE_TIMEOUT
    +    name='creation', limit=settings.CREATION_THROTTLE_LIMIT,
    +    timeout=settings.CREATION_THROTTLE_TIMEOUT
     )
     LOGIN_THROTTLE = Throttle(
         name='login', limit=settings.LOGIN_THROTTLE_LIMIT, timeout=settings.LOGIN_THROTTLE_TIMEOUT
    @@ -333,11 +335,11 @@
                 raise RuntimeError("Session not found")
             if self.get_puppet(session) == obj:
                 # already puppeting this object
    -            self.msg(_("You are already puppeting this object."))
    +            self.msg("You are already puppeting this object.")
                 return
             if not obj.access(self, "puppet"):
                 # no access
    -            self.msg(_("You don't have permission to puppet '{key}'.").format(key=obj.key))
    +            self.msg("You don't have permission to puppet '{obj.key}'.")
                 return
             if obj.account:
                 # object already puppeted
    @@ -353,8 +355,8 @@
                         else:
                             txt1 = f"Taking over |c{obj.name}|n from another of your sessions."
                             txt2 = f"|c{obj.name}|n|R is now acted from another of your sessions.|n"
    -                        self.msg(_(txt1), session=session)
    -                        self.msg(_(txt2), session=obj.sessions.all())
    +                        self.msg(txt1, session=session)
    +                        self.msg(txt2, session=obj.sessions.all())
                             self.unpuppet_object(obj.sessions.get())
                 elif obj.account.is_connected:
                     # controlled by another account
    @@ -584,7 +586,7 @@
     
                 # Update throttle
                 if ip:
    -                LOGIN_THROTTLE.update(ip, "Too many authentication failures.")
    +                LOGIN_THROTTLE.update(ip, _("Too many authentication failures."))
     
                 # Try to call post-failure hook
                 session = kwargs.get("session", None)
    @@ -699,8 +701,9 @@
                 password (str): Password to set.
     
             Notes:
    -            This is called by Django also when logging in; it should not be mixed up with validation, since that
    -            would mean old passwords in the database (pre validation checks) could get invalidated.
    +            This is called by Django also when logging in; it should not be mixed up with
    +            validation, since that would mean old passwords in the database (pre validation checks)
    +            could get invalidated.
     
             """
             super(DefaultAccount, self).set_password(password)
    @@ -839,12 +842,10 @@
                     )
                     logger.log_sec(f"Account Created: {account} (IP: {ip}).")
     
    -            except Exception as e:
    +            except Exception:
                     errors.append(
    -                    _(
    -                        "There was an error creating the Account. If this problem persists, contact an admin."
    -                    )
    -                )
    +                    _("There was an error creating the Account. "
    +                      "If this problem persists, contact an admin."))
                     logger.log_trace()
                     return None, errors
     
    @@ -860,7 +861,7 @@
                 # join the new account to the public channel
                 pchannel = ChannelDB.objects.get_channel(settings.DEFAULT_CHANNELS[0]["key"])
                 if not pchannel or not pchannel.connect(account):
    -                string = f"New account '{account.key}' could not connect to public channel!"
    +                string = "New account '{account.key}' could not connect to public channel!"
                     errors.append(string)
                     logger.log_err(string)
     
    @@ -1615,7 +1616,7 @@
                 if hasattr(target, "return_appearance"):
                     return target.return_appearance(self)
                 else:
    -                return _("{target} has no in-game appearance.").format(target=target)
    +                return f"{target} has no in-game appearance."
             else:
                 # list of targets - make list to disconnect from db
                 characters = list(tar for tar in target if tar) if target else []
    @@ -1658,19 +1659,18 @@
                 if is_su or len(characters) < charmax:
                     if not characters:
                         result.append(
    -                        _(
    -                            "\n\n You don't have any characters yet. See |whelp @charcreate|n for creating one."
    -                        )
    +                        "\n\n You don't have any characters yet. See |whelp charcreate|n for "
    +                        "creating one."
                         )
                     else:
    -                    result.append("\n |w@charcreate <name> [=description]|n - create new character")
    +                    result.append("\n |wcharcreate <name> [=description]|n - create new character")
                         result.append(
    -                        "\n |w@chardelete <name>|n - delete a character (cannot be undone!)"
    +                        "\n |wchardelete <name>|n - delete a character (cannot be undone!)"
                         )
     
                 if characters:
                     string_s_ending = len(characters) > 1 and "s" or ""
    -                result.append("\n |w@ic <character>|n - enter the game (|w@ooc|n to get back here)")
    +                result.append("\n |wic <character>|n - enter the game (|wooc|n to get back here)")
                     if is_su:
                         result.append(
                             f"\n\nAvailable character{string_s_ending} ({len(characters)}/unlimited):"
    @@ -1692,11 +1692,12 @@
                                 sid = sess in sessions and sessions.index(sess) + 1
                                 if sess and sid:
                                     result.append(
    -                                    f"\n - |G{char.key}|n [{', '.join(char.permissions.all())}] (played by you in session {sid})"
    -                                )
    +                                    f"\n - |G{char.key}|n [{', '.join(char.permissions.all())}] "
    +                                    f"(played by you in session {sid})")
                                 else:
                                     result.append(
    -                                    f"\n - |R{char.key}|n [{', '.join(char.permissions.all())}] (played by someone else)"
    +                                    f"\n - |R{char.key}|n [{', '.join(char.permissions.all())}] "
    +                                    "(played by someone else)"
                                     )
                         else:
                             # character is "free to puppet"
    @@ -1709,6 +1710,7 @@
         """
         This class is used for guest logins. Unlike Accounts, Guests and
         their characters are deleted after disconnection.
    +
         """
     
     
    [docs] @classmethod @@ -1716,6 +1718,7 @@ """ Forwards request to cls.authenticate(); returns a DefaultGuest object if one is available for use. + """ return cls.authenticate(**kwargs)
    @@ -1783,7 +1786,7 @@ return account, errors - except Exception as e: + except Exception: # We are in the middle between logged in and -not, so we have # to handle tracebacks ourselves at this point. If we don't, # we won't see any errors at all. diff --git a/docs/1.0-dev/_modules/evennia/accounts/bots.html b/docs/1.0-dev/_modules/evennia/accounts/bots.html index 2eb05934ba..06e22e6118 100644 --- a/docs/1.0-dev/_modules/evennia/accounts/bots.html +++ b/docs/1.0-dev/_modules/evennia/accounts/bots.html @@ -372,7 +372,7 @@ nicklist = ", ".join(sorted(kwargs["nicklist"], key=lambda n: n.lower())) for obj in self._nicklist_callers: obj.msg( - _("Nicks at {chstr}:\n {nicklist}").format(chstr=chstr, nicklist=nicklist) + "Nicks at {chstr}:\n {nicklist}".format(chstr=chstr, nicklist=nicklist) ) self._nicklist_callers = [] return @@ -383,7 +383,7 @@ chstr = f"{self.db.irc_channel} ({self.db.irc_network}:{self.db.irc_port})" for obj in self._ping_callers: obj.msg( - _("IRC ping return from {chstr} took {time}s.").format( + "IRC ping return from {chstr} took {time}s.".format( chstr=chstr, time=kwargs["timing"] ) ) @@ -439,6 +439,7 @@ # # RSS +#
    [docs]class RSSBot(Bot): diff --git a/docs/1.0-dev/_modules/evennia/accounts/models.html b/docs/1.0-dev/_modules/evennia/accounts/models.html index c3f9d1378c..9f5f9befa8 100644 --- a/docs/1.0-dev/_modules/evennia/accounts/models.html +++ b/docs/1.0-dev/_modules/evennia/accounts/models.html @@ -88,7 +88,7 @@ # ------------------------------------------------------------ -
    [docs]class AccountDB(TypedObject, AbstractUser): +
    [docs]class AccountDB(TypedObject, AbstractUser): """ This is a special model using Django's 'profile' functionality and extends the default Django User model. It is defined as such @@ -136,7 +136,8 @@ "cmdset", max_length=255, null=True, - help_text="optional python path to a cmdset class. If creating a Character, this will default to settings.CMDSET_CHARACTER.", + help_text="optional python path to a cmdset class. If creating a Character, this will " + "default to settings.CMDSET_CHARACTER.", ) # marks if this is a "virtual" bot account object db_is_bot = models.BooleanField( @@ -151,8 +152,8 @@ __applabel__ = "accounts" __settingsclasspath__ = settings.BASE_SCRIPT_TYPECLASS - # class Meta: - # verbose_name = "Account" + class Meta: + verbose_name = "Account" # cmdset_storage property # This seems very sensitive to caching, so leaving it be for now /Griatch diff --git a/docs/1.0-dev/_modules/evennia/commands/cmdhandler.html b/docs/1.0-dev/_modules/evennia/commands/cmdhandler.html index 056b5104a9..7a2eb28edb 100644 --- a/docs/1.0-dev/_modules/evennia/commands/cmdhandler.html +++ b/docs/1.0-dev/_modules/evennia/commands/cmdhandler.html @@ -122,50 +122,50 @@ # is the normal "production message to echo to the account. _ERROR_UNTRAPPED = ( - """ -An untrapped error occurred. -""", - """ -An untrapped error occurred. Please file a bug report detailing the steps to reproduce. -""", + _(""" +An untrapped error occurred. +"""), + _(""" +An untrapped error occurred. Please file a bug report detailing the steps to reproduce. +"""), ) _ERROR_CMDSETS = ( - """ -A cmdset merger-error occurred. This is often due to a syntax -error in one of the cmdsets to merge. -""", - """ -A cmdset merger-error occurred. Please file a bug report detailing the -steps to reproduce. -""", + _(""" +A cmdset merger-error occurred. This is often due to a syntax +error in one of the cmdsets to merge. +"""), + _(""" +A cmdset merger-error occurred. Please file a bug report detailing the +steps to reproduce. +"""), ) _ERROR_NOCMDSETS = ( - """ -No command sets found! This is a critical bug that can have -multiple causes. -""", - """ -No command sets found! This is a sign of a critical bug. If -disconnecting/reconnecting doesn't" solve the problem, try to contact -the server admin through" some other means for assistance. -""", + _(""" +No command sets found! This is a critical bug that can have +multiple causes. +"""), + _(""" +No command sets found! This is a sign of a critical bug. If +disconnecting/reconnecting doesn't" solve the problem, try to contact +the server admin through" some other means for assistance. +"""), ) _ERROR_CMDHANDLER = ( - """ -A command handler bug occurred. If this is not due to a local change, -please file a bug report with the Evennia project, including the -traceback and steps to reproduce. -""", - """ -A command handler bug occurred. Please notify staff - they should -likely file a bug report with the Evennia project. -""", + _(""" +A command handler bug occurred. If this is not due to a local change, +please file a bug report with the Evennia project, including the +traceback and steps to reproduce. +"""), + _(""" +A command handler bug occurred. Please notify staff - they should +likely file a bug report with the Evennia project. +"""), ) -_ERROR_RECURSION_LIMIT = ( +_ERROR_RECURSION_LIMIT = _( "Command recursion limit ({recursion_limit}) " "reached for '{raw_cmdname}' ({cmdclass})." ) @@ -188,7 +188,7 @@ production string (with a timestamp) to be shown to the user. """ - string = "{traceback}\n{errmsg}\n(Traceback was logged {timestamp})." + string = _("{traceback}\n{errmsg}\n(Traceback was logged {timestamp}).") timestamp = logger.timeformat() tracestring = format_exc() logger.log_trace() @@ -341,6 +341,7 @@ def _get_local_obj_cmdsets(obj): """ Helper-method; Get Object-level cmdsets + """ # Gather cmdsets from location, objects in location or carried try: @@ -394,6 +395,7 @@ """ Helper method; Get cmdset while making sure to trigger all hooks safely. Returns the stack and the valid options. + """ try: yield obj.at_cmdset_get() @@ -426,13 +428,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # channel_cmdsets = yield _get_channel_cmdset(obj) - # cmdsets += channel_cmdsets - # if not current.no_channels: - # channel_cmdsets = yield _get_channel_cmdset(account) - # cmdsets += channel_cmdsets elif callertype == "account": # we are calling the command from the account level @@ -450,11 +445,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # cmdsets += yield _get_channel_cmdset(obj) - # if not current.no_channels: - # cmdsets += yield _get_channel_cmdset(account) elif callertype == "object": # we are calling the command from the object level @@ -468,9 +458,6 @@ cmdset for cmdset in local_obj_cmdsets if cmdset.key != "ExitCmdSet" ] cmdsets += yield local_obj_cmdsets - # if not current.no_channels: - # # also objs may have channels - # cmdsets += yield _get_channel_cmdset(obj) else: raise Exception("get_and_merge_cmdsets: callertype %s is not valid." % callertype) diff --git a/docs/1.0-dev/_modules/evennia/commands/cmdset.html b/docs/1.0-dev/_modules/evennia/commands/cmdset.html index da3b29d1f0..db7417261f 100644 --- a/docs/1.0-dev/_modules/evennia/commands/cmdset.html +++ b/docs/1.0-dev/_modules/evennia/commands/cmdset.html @@ -406,8 +406,8 @@ if getattr(self, opt) is not None ]) options = (", " + options) if options else "" - return f"<CmdSet {self.key}, {self.mergetype}, {perm}, prio {self.priority}{options}>: " + ", ".join( - [str(cmd) for cmd in sorted(self.commands, key=lambda o: o.key)]) + return (f"<CmdSet {self.key}, {self.mergetype}, {perm}, prio {self.priority}{options}>: " + + ", ".join([str(cmd) for cmd in sorted(self.commands, key=lambda o: o.key)])) def __iter__(self): """ @@ -519,7 +519,8 @@ # This is used for diagnosis. cmdset_c.actual_mergetype = mergetype - # print "__add__ for %s (prio %i) called with %s (prio %i)." % (self.key, self.priority, cmdset_a.key, cmdset_a.priority) + # print "__add__ for %s (prio %i) called with %s (prio %i)." % (self.key, self.priority, + # cmdset_a.key, cmdset_a.priority) # return the system commands to the cmdset cmdset_c.add(sys_commands, allow_duplicates=True) @@ -712,6 +713,7 @@ Hook method - this should be overloaded in the inheriting class, and should take care of populating the cmdset by use of self.add(). + """ pass
    diff --git a/docs/1.0-dev/_modules/evennia/commands/cmdsethandler.html b/docs/1.0-dev/_modules/evennia/commands/cmdsethandler.html index b5eef0c2fc..69ae7db440 100644 --- a/docs/1.0-dev/_modules/evennia/commands/cmdsethandler.html +++ b/docs/1.0-dev/_modules/evennia/commands/cmdsethandler.html @@ -104,6 +104,7 @@ can then implement separate sets for different situations. For example, you can have a 'On a boat' set, onto which you then tack on the 'Fishing' set. Fishing from a boat? No problem! + """ import sys from traceback import format_exc @@ -145,7 +146,7 @@ _ERROR_CMDSET_EXCEPTION = _( """{traceback} -Compile/Run error when loading cmdset '{path}'.", +Compile/Run error when loading cmdset '{path}'. (Traceback was logged {timestamp})""" ) @@ -210,7 +211,7 @@ if "." in path: modpath, classname = python_path.rsplit(".", 1) else: - raise ImportError("The path '%s' is not on the form modulepath.ClassName" % path) + raise ImportError(f"The path '{path}' is not on the form modulepath.ClassName") try: # first try to get from cache @@ -354,6 +355,7 @@ def __str__(self): """ Display current commands + """ strings = ["<CmdSetHandler> stack:"] @@ -373,7 +375,7 @@ if mergelist: # current is a result of mergers - mergelist="+".join(mergelist) + mergelist = "+".join(mergelist) strings.append(f" <Merged {mergelist}>: {self.current}") else: # current is a single cmdset @@ -463,7 +465,8 @@ self.mergetype_stack.append(new_current.actual_mergetype) self.current = new_current
    -
    [docs] def add(self, cmdset, emit_to_obj=None, persistent=True, permanent=True, default_cmdset=False, **kwargs): +
    [docs] def add(self, cmdset, emit_to_obj=None, persistent=True, default_cmdset=False, + **kwargs): """ Add a cmdset to the handler, on top of the old ones, unless it is set as the default one (it will then end up at the bottom of the stack) @@ -473,8 +476,6 @@ to such an object. emit_to_obj (Object, optional): An object to receive error messages. persistent (bool, optional): Let cmdset remain across server reload. - permanent (bool, optional): DEPRECATED. This has the same use as - `persistent`. default_cmdset (Cmdset, optional): Insert this to replace the default cmdset position (there is only one such position, always at the bottom of the stack). @@ -492,10 +493,9 @@ """ if "permanent" in kwargs: - logger.log_dep("obj.cmdset.add() kwarg 'permanent' has changed to " + logger.log_dep("obj.cmdset.add() kwarg 'permanent' has changed name to " "'persistent' and now defaults to True.") - - permanent = persistent or permanent + persistent = kwargs['permanent'] if persistent is None else persistent if not (isinstance(cmdset, str) or utils.inherits_from(cmdset, CmdSet)): string = _("Only CmdSets can be added to the cmdsethandler!") @@ -507,8 +507,8 @@ # this is (maybe) a python path. Try to import from cache. cmdset = self._import_cmdset(cmdset) if cmdset and cmdset.key != "_CMDSET_ERROR": - cmdset.permanent = permanent - if permanent and cmdset.key != "_CMDSET_ERROR": + cmdset.permanent = persistent # TODO change on cmdset too + if persistent and cmdset.key != "_CMDSET_ERROR": # store the path permanently storage = self.obj.cmdset_storage or [""] if default_cmdset: @@ -522,17 +522,21 @@ self.cmdset_stack.append(cmdset) self.update()
    -
    [docs] def add_default(self, cmdset, emit_to_obj=None, permanent=True): +
    [docs] def add_default(self, cmdset, emit_to_obj=None, persistent=True, **kwargs): """ Shortcut for adding a default cmdset. Args: cmdset (Cmdset): The Cmdset to add. emit_to_obj (Object, optional): Gets error messages - permanent (bool, optional): The new Cmdset should survive a server reboot. + persistent (bool, optional): The new Cmdset should survive a server reboot. """ - self.add(cmdset, emit_to_obj=emit_to_obj, permanent=permanent, default_cmdset=True)
    + if "permanent" in kwargs: + logger.log_dep("obj.cmdset.add_default() kwarg 'permanent' has changed name to " + "'persistent'.") + persistent = kwargs['permanent'] if persistent is None else persistent + self.add(cmdset, emit_to_obj=emit_to_obj, persistent=persistent, default_cmdset=True)
    [docs] def remove(self, cmdset=None, default_cmdset=False): """ diff --git a/docs/1.0-dev/_modules/evennia/commands/command.html b/docs/1.0-dev/_modules/evennia/commands/command.html index f804b1c862..c84cc2761f 100644 --- a/docs/1.0-dev/_modules/evennia/commands/command.html +++ b/docs/1.0-dev/_modules/evennia/commands/command.html @@ -614,6 +614,7 @@ border_left_char=border_left_char, border_right_char=border_right_char, border_top_char=border_top_char, + border_bottom_char=border_bottom_char, **kwargs, ) return table
    diff --git a/docs/1.0-dev/_modules/evennia/commands/default/account.html b/docs/1.0-dev/_modules/evennia/commands/default/account.html index 442ddc9f6d..ca4282b8b7 100644 --- a/docs/1.0-dev/_modules/evennia/commands/default/account.html +++ b/docs/1.0-dev/_modules/evennia/commands/default/account.html @@ -862,7 +862,7 @@ testing which colors your client support Usage: - color ansi||xterm256 + color ansi | xterm256 Prints a color map along with in-mud color codes to use to produce them. It also tests what is supported in your client. Choices are diff --git a/docs/1.0-dev/_modules/evennia/commands/default/general.html b/docs/1.0-dev/_modules/evennia/commands/default/general.html index 15ab478381..a62f226d95 100644 --- a/docs/1.0-dev/_modules/evennia/commands/default/general.html +++ b/docs/1.0-dev/_modules/evennia/commands/default/general.html @@ -424,7 +424,7 @@ table = self.styled_table(border="header") for item in items: table.add_row(f"|C{item.name}|n", - "{}|n".format(utils.crop(raw_ansi(item.db.desc), width=50) or "")) + "{}|n".format(utils.crop(raw_ansi(item.db.desc or ""), width=50) or "")) string = f"|wYou are carrying:\n{table}" self.caller.msg(string)
    diff --git a/docs/1.0-dev/_modules/evennia/commands/default/help.html b/docs/1.0-dev/_modules/evennia/commands/default/help.html index 078fa8cfe8..2e5171df1d 100644 --- a/docs/1.0-dev/_modules/evennia/commands/default/help.html +++ b/docs/1.0-dev/_modules/evennia/commands/default/help.html @@ -74,7 +74,6 @@ # limit symbol import for API __all__ = ("CmdHelp", "CmdSetHelp") - @dataclass class HelpCategory: """ diff --git a/docs/1.0-dev/_modules/evennia/comms/admin.html b/docs/1.0-dev/_modules/evennia/comms/admin.html deleted file mode 100644 index c146110491..0000000000 --- a/docs/1.0-dev/_modules/evennia/comms/admin.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - evennia.comms.admin — Evennia 1.0-dev documentation - - - - - - - - - - - - - -
    -
    -
    -
    - -

    Source code for evennia.comms.admin

    -"""
    -This defines how Comm models are displayed in the web admin interface.
    -
    -"""
    -
    -from django.contrib import admin
    -from evennia.comms.models import ChannelDB
    -from evennia.typeclasses.admin import AttributeInline, TagInline
    -from django.conf import settings
    -
    -
    -
    [docs]class ChannelAttributeInline(AttributeInline): - """ - Inline display of Channel Attribute - experimental - - """ - - model = ChannelDB.db_attributes.through - related_field = "channeldb"
    - - -
    [docs]class ChannelTagInline(TagInline): - """ - Inline display of Channel Tags - experimental - - """ - - model = ChannelDB.db_tags.through - related_field = "channeldb"
    - - -
    [docs]class MsgAdmin(admin.ModelAdmin): - """ - Defines display for Msg objects - - """ - - list_display = ( - "id", - "db_date_created", - "db_sender", - "db_receivers", - "db_channels", - "db_message", - "db_lock_storage", - ) - list_display_links = ("id",) - ordering = ["db_date_created", "db_sender", "db_receivers", "db_channels"] - # readonly_fields = ['db_message', 'db_sender', 'db_receivers', 'db_channels'] - search_fields = ["id", "^db_date_created", "^db_message"] - save_as = True - save_on_top = True - list_select_related = True
    - - -# admin.site.register(Msg, MsgAdmin) - - -
    [docs]class ChannelAdmin(admin.ModelAdmin): - """ - Defines display for Channel objects - - """ - - inlines = [ChannelTagInline, ChannelAttributeInline] - list_display = ("id", "db_key", "db_lock_storage", "subscriptions") - list_display_links = ("id", "db_key") - ordering = ["db_key"] - search_fields = ["id", "db_key", "db_tags__db_key"] - save_as = True - save_on_top = True - list_select_related = True - raw_id_fields = ("db_object_subscriptions", "db_account_subscriptions") - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key",), - "db_lock_storage", - "db_account_subscriptions", - "db_object_subscriptions", - ) - }, - ), - ) - -
    [docs] def subscriptions(self, obj): - """ - Helper method to get subs from a channel. - - Args: - obj (Channel): The channel to get subs from. - - """ - return ", ".join([str(sub) for sub in obj.subscriptions.all()])
    - -
    [docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=settings.BASE_CHANNEL_TYPECLASS) - obj.at_init()
    - -
    [docs] def response_add(self, request, obj, post_url_continue=None): - from django.http import HttpResponseRedirect - from django.urls import reverse - - return HttpResponseRedirect(reverse("admin:comms_channeldb_change", args=[obj.id]))
    - - -admin.site.register(ChannelDB, ChannelAdmin) -
    - -
    -
    -
    -
    - -
    -
    - - - - \ No newline at end of file diff --git a/docs/1.0-dev/_modules/evennia/comms/comms.html b/docs/1.0-dev/_modules/evennia/comms/comms.html index df4abb84e6..a8e00097d4 100644 --- a/docs/1.0-dev/_modules/evennia/comms/comms.html +++ b/docs/1.0-dev/_modules/evennia/comms/comms.html @@ -49,7 +49,7 @@ from django.utils.text import slugify from evennia.typeclasses.models import TypeclassBase -from evennia.comms.models import TempMsg, ChannelDB +from evennia.comms.models import ChannelDB from evennia.comms.managers import ChannelManager from evennia.utils import create, logger from evennia.utils.utils import make_iter @@ -91,7 +91,6 @@ channel_msg_nick_pattern = r"{alias}\s*?|{alias}\s+?(?P<arg1>.+?)" channel_msg_nick_replacement = "channel {channelname} = $1" -
    [docs] def at_first_save(self): """ Called by the typeclass system the very first time the channel @@ -748,7 +747,7 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
    [docs] def web_get_detail_url(self): @@ -763,8 +762,10 @@ a named view of 'channel-detail' would be referenced by this method. ex. - url(r'channels/(?P<slug>[\w\d\-]+)/$', - ChannelDetailView.as_view(), name='channel-detail') + :: + + url(r'channels/(?P<slug>[\w\d\-]+)/$', + ChannelDetailView.as_view(), name='channel-detail') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -782,7 +783,7 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
    [docs] def web_get_update_url(self): @@ -797,8 +798,10 @@ a named view of 'channel-update' would be referenced by this method. ex. - url(r'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', - ChannelUpdateView.as_view(), name='channel-update') + :: + + url(r'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + ChannelUpdateView.as_view(), name='channel-update') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -816,7 +819,7 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
    [docs] def web_get_delete_url(self): @@ -849,7 +852,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"slug": slugify(self.db_key)}, ) - except: + except Exception: return "#"
    # Used by Django Sites/Admin diff --git a/docs/1.0-dev/_modules/evennia/comms/managers.html b/docs/1.0-dev/_modules/evennia/comms/managers.html index 4d1797a5da..e72c52c776 100644 --- a/docs/1.0-dev/_modules/evennia/comms/managers.html +++ b/docs/1.0-dev/_modules/evennia/comms/managers.html @@ -260,7 +260,6 @@ else: raise CommError
    -
    [docs] def search_message(self, sender=None, receiver=None, freetext=None, dbref=None): """ Search the message database for particular messages. At least diff --git a/docs/1.0-dev/_modules/evennia/comms/models.html b/docs/1.0-dev/_modules/evennia/comms/models.html index d7cb8fe2d2..f5be0ef1e2 100644 --- a/docs/1.0-dev/_modules/evennia/comms/models.html +++ b/docs/1.0-dev/_modules/evennia/comms/models.html @@ -58,6 +58,7 @@ Channels are central objects that act as targets for Msgs. Accounts can connect to channels by use of a ChannelConnect object (this object is necessary to easily be able to delete connections on the fly). + """ from django.conf import settings from django.utils import timezone @@ -84,7 +85,7 @@ # ------------------------------------------------------------ -
    [docs]class Msg(SharedMemoryModel): +
    [docs]class Msg(SharedMemoryModel): """ A single message. This model describes all ooc messages sent in-game, both to channels and between accounts. @@ -120,7 +121,7 @@ "accounts.AccountDB", related_name="sender_account_set", blank=True, - verbose_name="sender(account)", + verbose_name="Senders (Accounts)", db_index=True, ) @@ -128,14 +129,14 @@ "objects.ObjectDB", related_name="sender_object_set", blank=True, - verbose_name="sender(object)", + verbose_name="Senders (Objects)", db_index=True, ) db_sender_scripts = models.ManyToManyField( "scripts.ScriptDB", related_name="sender_script_set", blank=True, - verbose_name="sender(script)", + verbose_name="Senders (Scripts)", db_index=True, ) db_sender_external = models.CharField( @@ -144,14 +145,15 @@ null=True, blank=True, db_index=True, - help_text="identifier for external sender, for example a sender over an " - "IRC connection (i.e. someone who doesn't have an exixtence in-game).", + help_text="Identifier for single external sender, for use with senders " + "not represented by a regular database model." ) db_receivers_accounts = models.ManyToManyField( "accounts.AccountDB", related_name="receiver_account_set", blank=True, + verbose_name="Receivers (Accounts)", help_text="account receivers", ) @@ -159,12 +161,14 @@ "objects.ObjectDB", related_name="receiver_object_set", blank=True, + verbose_name="Receivers (Objects)", help_text="object receivers", ) db_receivers_scripts = models.ManyToManyField( "scripts.ScriptDB", related_name="receiver_script_set", blank=True, + verbose_name="Receivers (Scripts)", help_text="script_receivers", ) @@ -174,8 +178,8 @@ null=True, blank=True, db_index=True, - help_text="identifier for single external receiver, for use with " - "receivers without a database existence." + help_text="Identifier for single external receiver, for use with recievers " + "not represented by a regular database model." ) # header could be used for meta-info about the message if your system needs @@ -204,7 +208,8 @@ db_tags = models.ManyToManyField( Tag, blank=True, - help_text="tags on this message. Tags are simple string markers to identify, group and alias messages.", + help_text="tags on this message. Tags are simple string markers to " + "identify, group and alias messages.", ) # Database manager @@ -215,11 +220,11 @@ "Define Django meta options" verbose_name = "Msg" -
    [docs] @lazy_property +
    [docs] @lazy_property def locks(self): return LockHandler(self)
    -
    [docs] @lazy_property +
    [docs] @lazy_property def tags(self): return TagHandler(self)
    @@ -272,7 +277,7 @@ self.db_sender_external = "" self.save() -
    [docs] def remove_sender(self, senders): +
    [docs] def remove_sender(self, senders): """ Remove a single sender or a list of senders. @@ -348,8 +353,7 @@ self.db_receiver_external = "" self.save() - -
    [docs] def remove_receiver(self, receivers): +
    [docs] def remove_receiver(self, receivers): """ Remove a single receiver, a list of receivers, or a single extral receiver. @@ -376,8 +380,8 @@ elif clsname == "ScriptDB": self.db_receivers_scripts.remove(receiver)
    - - def __hide_from_get(self): + @property + def hide_from(self): """ Getter. Allows for value = self.hide_from. Returns two lists of accounts and objects. @@ -388,9 +392,12 @@ self.db_hide_from_objects.all(), ) - # @hide_from_sender.setter - def __hide_from_set(self, hiders): - "Setter. Allows for self.hide_from = value. Will append to hiders" + @hide_from.setter + def hide_from(self, hiders): + """ + Setter. Allows for self.hide_from = value. Will append to hiders. + + """ for hider in make_iter(hiders): if not hider: continue @@ -402,26 +409,30 @@ elif clsname == "ObjectDB": self.db_hide_from_objects.add(hider.__dbclass__) - # @hide_from_sender.deleter - def __hide_from_del(self): - "Deleter. Allows for del self.hide_from_senders" + @hide_from.deleter + def hide_from(self): + """ + Deleter. Allows for del self.hide_from_senders + + """ self.db_hide_from_accounts.clear() self.db_hide_from_objects.clear() self.save() - hide_from = property(__hide_from_get, __hide_from_set, __hide_from_del) - # # Msg class methods # def __str__(self): - "This handles what is shown when e.g. printing the message" + """ + This handles what is shown when e.g. printing the message. + + """ senders = ",".join(getattr(obj, "key", str(obj)) for obj in self.senders) receivers = ",".join(getattr(obj, "key", str(obj)) for obj in self.receivers) return "%s->%s: %s" % (senders, receivers, crop(self.message, width=40)) -
    [docs] def access(self, accessing_obj, access_type="read", default=False): +
    [docs] def access(self, accessing_obj, access_type="read", default=False): """ Checks lock access. @@ -444,15 +455,14 @@ # ------------------------------------------------------------ -
    [docs]class TempMsg(object): +
    [docs]class TempMsg(object): """ - This is a non-persistent object for sending temporary messages - that will not be stored. It mimics the "real" Msg object, but - doesn't require sender to be given. + This is a non-persistent object for sending temporary messages that will not be stored. It + mimics the "real" Msg object, but doesn't require sender to be given. """ -
    [docs] def __init__( +
    [docs] def __init__( self, senders=None, receivers=None, @@ -484,19 +494,20 @@ self.hide_from = hide_from and make_iter(hide_from) or [] self.date_created = timezone.now()
    -
    [docs] @lazy_property +
    [docs] @lazy_property def locks(self): return LockHandler(self)
    def __str__(self): """ This handles what is shown when e.g. printing the message. + """ senders = ",".join(obj.key for obj in self.senders) receivers = ",".join(obj.key for obj in self.receivers) return "%s->%s: %s" % (senders, receivers, crop(self.message, width=40)) -
    [docs] def remove_sender(self, sender): +
    [docs] def remove_sender(self, sender): """ Remove a sender or a list of senders. @@ -510,12 +521,13 @@ except ValueError: pass # nothing to remove
    -
    [docs] def remove_receiver(self, receiver): +
    [docs] def remove_receiver(self, receiver): """ Remove a receiver or a list of receivers Args: receiver (Object, Account, Script, str or list): Receivers to remove. + """ for o in make_iter(receiver): @@ -524,7 +536,7 @@ except ValueError: pass # nothing to remove
    -
    [docs] def access(self, accessing_obj, access_type="read", default=False): +
    [docs] def access(self, accessing_obj, access_type="read", default=False): """ Checks lock access. @@ -552,6 +564,7 @@ This handler manages subscriptions to the channel and hides away which type of entity is subscribing (Account or Object) + """ def __init__(self, obj): @@ -673,7 +686,8 @@ if not obj.is_connected: continue except ObjectDoesNotExist: - # a subscribed object has already been deleted. Mark that we need a recache and ignore it + # a subscribed object has already been deleted. Mark that we need a recache and + # ignore it recache_needed = True continue subs.append(obj) @@ -691,7 +705,7 @@ self._cache = None -
    [docs]class ChannelDB(TypedObject): +
    [docs]class ChannelDB(TypedObject): """ This is the basis of a comm channel, only implementing the very basics of distributing messages. @@ -727,7 +741,7 @@ __defaultclasspath__ = "evennia.comms.comms.DefaultChannel" __applabel__ = "comms" - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Channel" verbose_name_plural = "Channels" @@ -736,7 +750,7 @@ "Echoes the text representation of the channel." return "Channel '%s' (%s)" % (self.key, self.db.desc) -
    [docs] @lazy_property +
    [docs] @lazy_property def subscriptions(self): return SubscriptionHandler(self)
    diff --git a/docs/1.0-dev/_modules/evennia/help/filehelp.html b/docs/1.0-dev/_modules/evennia/help/filehelp.html index c1ebbbb8df..380b447649 100644 --- a/docs/1.0-dev/_modules/evennia/help/filehelp.html +++ b/docs/1.0-dev/_modules/evennia/help/filehelp.html @@ -46,7 +46,7 @@ help entries created using the `sethelp` default command. After changing an entry on-disk you need to reload the server to have the change show in-game. -An filehelp file is a regular python modules with dicts representing each help +An filehelp file is a regular python module with dicts representing each help entry. If a list `HELP_ENTRY_DICTS` is found in the module, this should be a list of dicts. Otherwise *all* top-level dicts in the module will be assumed to be a help-entry dict. @@ -57,23 +57,23 @@ {'key': <str>, 'category': <str>, # optional, otherwise settings.DEFAULT_HELP_CATEGORY 'aliases': <list>, # optional - 'text': <str>}`` + 'text': <str>} -where the ``category`` is optional and the ``text`` should be formatted on the +where the `category` is optional and the `text`` should be formatted on the same form as other help entry-texts and contain ``# subtopics`` as normal. New help-entry modules are added to the system by providing the python-path to the module to `settings.FILE_HELP_ENTRY_MODULES`. Note that if same-key entries are added, entries in latter modules will override that of earlier ones. Use -``settings.DEFAULT_HELP_CATEGORY`` to customize what category is used if +`settings.DEFAULT_HELP_CATEGORY`` to customize what category is used if not set explicitly. An example of the contents of a module: :: help_entry1 = { - "key": "The Gods", # case-insensitive, can be searched by 'gods' as well - "aliases": ['pantheon', 'religion'] + "key": "The Gods", # case-insensitive, also partial-matching ('gods') works + "aliases": ['pantheon', 'religion'], "category": "Lore", "text": ''' The gods formed the world ... @@ -139,8 +139,13 @@ "category": self.help_category, "tags": "", "text": self.entrytext, - }
    + } + def __str__(self): + return self.key + + def __repr__(self): + return f"<FileHelpEntry {self.key}>"
    [docs]class FileHelpStorageHandler: @@ -150,6 +155,7 @@ Note that this is not meant to any searching/lookup - that is all handled by the help command. + """
    [docs] def __init__(self, help_file_modules=settings.FILE_HELP_ENTRY_MODULES): diff --git a/docs/1.0-dev/_modules/evennia/help/manager.html b/docs/1.0-dev/_modules/evennia/help/manager.html index 881f4b0240..9db6127e4a 100644 --- a/docs/1.0-dev/_modules/evennia/help/manager.html +++ b/docs/1.0-dev/_modules/evennia/help/manager.html @@ -43,7 +43,6 @@ """ Custom manager for HelpEntry objects. """ -from django.db import models from evennia.utils import logger, utils from evennia.typeclasses.managers import TypedObjectManager @@ -173,7 +172,7 @@ for topic in topics: topic.help_category = default_category topic.save() - string = _("Help database moved to category {default_category}").format( + string = "Help database moved to category {default_category}".format( default_category=default_category ) logger.log_info(string)
    diff --git a/docs/1.0-dev/_modules/evennia/help/models.html b/docs/1.0-dev/_modules/evennia/help/models.html index 0f50e1ece6..c55812cb1e 100644 --- a/docs/1.0-dev/_modules/evennia/help/models.html +++ b/docs/1.0-dev/_modules/evennia/help/models.html @@ -51,6 +51,7 @@ game world, policy info, rules and similar. """ +from datetime import datetime from django.contrib.contenttypes.models import ContentType from django.db import models from django.urls import reverse @@ -72,7 +73,7 @@ # ------------------------------------------------------------ -
    [docs]class HelpEntry(SharedMemoryModel): +
    [docs]class HelpEntry(SharedMemoryModel): """ A generic help entry. @@ -118,9 +119,8 @@ help_text="tags on this object. Tags are simple string markers to " "identify, group and alias objects.", ) - # (deprecated, only here to allow MUX helpfile load (don't use otherwise)). - # TODO: remove this when not needed anymore. - db_staff_only = models.BooleanField(default=False) + # Creation date. This is not changed once the object is created. + db_date_created = models.DateTimeField("creation date", editable=False, auto_now=True) # Database manager objects = HelpEntryManager() @@ -128,19 +128,19 @@ # lazy-loaded handlers -
    [docs] @lazy_property +
    [docs] @lazy_property def locks(self): return LockHandler(self)
    -
    [docs] @lazy_property +
    [docs] @lazy_property def tags(self): return TagHandler(self)
    -
    [docs] @lazy_property +
    [docs] @lazy_property def aliases(self): return AliasHandler(self)
    - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Help Entry" verbose_name_plural = "Help Entries" @@ -150,11 +150,13 @@ # HelpEntry main class methods # # + def __str__(self): + return str(self.key) def __repr__(self): return f"<HelpEntry {self.key}>" -
    [docs] def access(self, accessing_obj, access_type="read", default=False): +
    [docs] def access(self, accessing_obj, access_type="read", default=False): """ Determines if another object has permission to access. accessing_obj - object trying to access this one @@ -180,7 +182,7 @@ # Web/Django methods # -
    [docs] def web_get_admin_url(self): +
    [docs] def web_get_admin_url(self): """ Returns the URI path for the Django Admin page for this object. @@ -195,7 +197,7 @@ "admin:%s_%s_change" % (content_type.app_label, content_type.model), args=(self.id,) )
    -
    [docs] @classmethod +
    [docs] @classmethod def web_get_create_url(cls): """ Returns the URI path for a View that allows users to create new @@ -208,7 +210,9 @@ a named view of 'character-create' would be referenced by this method. ex. - url(r'characters/create/', ChargenView.as_view(), name='character-create') + :: + + url(r'characters/create/', ChargenView.as_view(), name='character-create') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -223,10 +227,10 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
    -
    [docs] def web_get_detail_url(self): +
    [docs] def web_get_detail_url(self): """ Returns the URI path for a View that allows users to view details for this object. @@ -238,8 +242,9 @@ a named view of 'character-detail' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$', - CharDetailView.as_view(), name='character-detail') + :: + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/$', + CharDetailView.as_view(), name='character-detail') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -257,11 +262,10 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except Exception as e: - print(e) + except Exception: return "#"
    -
    [docs] def web_get_update_url(self): +
    [docs] def web_get_update_url(self): """ Returns the URI path for a View that allows users to update this object. @@ -273,8 +277,10 @@ a named view of 'character-update' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', - CharUpdateView.as_view(), name='character-update') + :: + + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + CharUpdateView.as_view(), name='character-update') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -292,10 +298,10 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except: + except Exception: return "#"
    -
    [docs] def web_get_delete_url(self): +
    [docs] def web_get_delete_url(self): """ Returns the URI path for a View that allows users to delete this object. @@ -306,8 +312,10 @@ a named view of 'character-detail' would be referenced by this method. ex. - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', - CharDeleteView.as_view(), name='character-delete') + :: + + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', + CharDeleteView.as_view(), name='character-delete') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -325,7 +333,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"category": slugify(self.db_help_category), "topic": slugify(self.db_key)}, ) - except: + except Exception: return "#"
    # Used by Django Sites/Admin diff --git a/docs/1.0-dev/_modules/evennia/help/utils.html b/docs/1.0-dev/_modules/evennia/help/utils.html index 2eb474caf9..e5a7174d60 100644 --- a/docs/1.0-dev/_modules/evennia/help/utils.html +++ b/docs/1.0-dev/_modules/evennia/help/utils.html @@ -115,7 +115,6 @@ custom_stop_words_filter = stop_word_filter.generate_stop_word_filter(stop_words) _LUNR_BUILDER_PIPELINE = (trimmer, custom_stop_words_filter, stemmer) - indx = [cnd.search_index_entry for cnd in candidate_entries] mapping = {indx[ix]["key"]: cand for ix, cand in enumerate(candidate_entries)} diff --git a/docs/1.0-dev/_modules/evennia/locks/lockfuncs.html b/docs/1.0-dev/_modules/evennia/locks/lockfuncs.html index 9c847b414e..e64d1c4e4e 100644 --- a/docs/1.0-dev/_modules/evennia/locks/lockfuncs.html +++ b/docs/1.0-dev/_modules/evennia/locks/lockfuncs.html @@ -53,81 +53,6 @@ with a lock variable/field, so be careful to not expect a certain object type. - -**Appendix: MUX locks** - -Below is a list nicked from the MUX help file on the locks available -in standard MUX. Most of these are not relevant to core Evennia since -locks in Evennia are considerably more flexible and can be implemented -on an individual command/typeclass basis rather than as globally -available like the MUX ones. So many of these are not available in -basic Evennia, but could all be implemented easily if needed for the -individual game. - -``` -MUX Name: Affects: Effect: ----------------------------------------------------------------------- -DefaultLock: Exits: controls who may traverse the exit to - its destination. - Evennia: "traverse:<lockfunc()>" - Rooms: controls whether the account sees the - SUCC or FAIL message for the room - following the room description when - looking at the room. - Evennia: Custom typeclass - Accounts/Things: controls who may GET the object. - Evennia: "get:<lockfunc()" - EnterLock: Accounts/Things: controls who may ENTER the object - Evennia: - GetFromLock: All but Exits: controls who may gets things from a - given location. - Evennia: - GiveLock: Accounts/Things: controls who may give the object. - Evennia: - LeaveLock: Accounts/Things: controls who may LEAVE the object. - Evennia: - LinkLock: All but Exits: controls who may link to the location - if the location is LINK_OK (for linking - exits or setting drop-tos) or ABODE (for - setting homes) - Evennia: - MailLock: Accounts: controls who may @mail the account. - Evennia: - OpenLock: All but Exits: controls who may open an exit. - Evennia: - PageLock: Accounts: controls who may page the account. - Evennia: "send:<lockfunc()>" - ParentLock: All: controls who may make @parent links to - the object. - Evennia: Typeclasses and - "puppet:<lockstring()>" - ReceiveLock: Accounts/Things: controls who may give things to the - object. - Evennia: - SpeechLock: All but Exits: controls who may speak in that location - Evennia: - TeloutLock: All but Exits: controls who may teleport out of the - location. - Evennia: - TportLock: Rooms/Things: controls who may teleport there - Evennia: - UseLock: All but Exits: controls who may USE the object, GIVE - the object money and have the PAY - attributes run, have their messages - heard and possibly acted on by LISTEN - and AxHEAR, and invoke $-commands - stored on the object. - Evennia: Commands and Cmdsets. - DropLock: All but rooms: controls who may drop that object. - Evennia: - VisibleLock: All: Controls object visibility when the - object is not dark and the looker - passes the lock. In DARK locations, the - object must also be set LIGHT and the - viewer must pass the VisibleLock. - Evennia: Room typeclass with - Dark/light script -``` """ @@ -154,16 +79,21 @@
    [docs]def true(*args, **kwargs): - "Always returns True." - return True
    + """ + Always returns True. + """ + return True
    [docs]def all(*args, **kwargs): return True
    [docs]def false(*args, **kwargs): - "Always returns False" + """ + Always returns False + + """ return False
    @@ -171,6 +101,10 @@ return False
    +
    [docs]def superuser(*args, **kwargs): + return False
    + +
    [docs]def self(accessing_obj, accessed_obj, *args, **kwargs): """ Check if accessing_obj is the same as accessed_obj @@ -686,17 +620,6 @@ return False
    -
    [docs]def superuser(*args, **kwargs): - """ - Only accepts an accesing_obj that is superuser (e.g. user #1) - - Since a superuser would not ever reach this check (superusers - bypass the lock entirely), any user who gets this far cannot be a - superuser, hence we just return False. :) - """ - return False
    - -
    [docs]def has_account(accessing_obj, accessed_obj, *args, **kwargs): """ Only returns true if accessing_obj has_account is true, that is, diff --git a/docs/1.0-dev/_modules/evennia/locks/lockhandler.html b/docs/1.0-dev/_modules/evennia/locks/lockhandler.html index cb2eb9d1d8..2a6afd700a 100644 --- a/docs/1.0-dev/_modules/evennia/locks/lockhandler.html +++ b/docs/1.0-dev/_modules/evennia/locks/lockhandler.html @@ -166,6 +166,7 @@
    [docs]class LockException(Exception): """ Raised during an error in a lock. + """ pass
    @@ -181,6 +182,7 @@ def _cache_lockfuncs(): """ Updates the cache. + """ global _LOCKFUNCS _LOCKFUNCS = {} @@ -205,7 +207,7 @@ # -
    [docs]class LockHandler(object): +
    [docs]class LockHandler: """ This handler should be attached to all objects implementing permission checks, under the property 'lockhandler'. @@ -275,7 +277,8 @@ funcname, rest = (part.strip().strip(")") for part in funcstring.split("(", 1)) func = _LOCKFUNCS.get(funcname, None) if not callable(func): - elist.append(_("Lock: lock-function '%s' is not available.") % funcstring) + elist.append(_("Lock: lock-function '{lockfunc}' is not available.").format( + lockfunc=funcstring)) continue args = list(arg.strip() for arg in rest.split(",") if arg and "=" not in arg) kwargs = dict( @@ -302,16 +305,13 @@ continue if access_type in locks: duplicates += 1 - wlist.append( - _( - "LockHandler on %(obj)s: access type '%(access_type)s' changed from '%(source)s' to '%(goal)s' " - % { - "obj": self.obj, - "access_type": access_type, - "source": locks[access_type][2], - "goal": raw_lockstring, - } - ) + wlist.append(_( + "LockHandler on {obj}: access type '{access_type}' " + "changed from '{source}' to '{goal}' ".format( + obj=self.obj, + access_type=access_type, + source=locks[access_type][2], + goal=raw_lockstring)) ) locks[access_type] = (evalstring, tuple(lock_funcs), raw_lockstring) if wlist and WARNING_LOG: @@ -326,12 +326,14 @@ def _cache_locks(self, storage_lockstring): """ Store data + """ self.locks = self._parse_lockstring(storage_lockstring) def _save_locks(self): """ Store locks to obj + """ self.obj.lock_storage = ";".join([tup[2] for tup in self.locks.values()]) @@ -735,6 +737,28 @@ access_type=access_type, ) +def check_perm(obj, permission, no_superuser_bypass=False): + """ + Shortcut for checking if an object has the given `permission`. If the + permission is in `settings.PERMISSION_HIERARCHY`, the check passes + if the object has this permission or higher. + + This is equivalent to calling the perm() lockfunc, but without needing + an accessed object. + + Args: + obj (Object, Account): The object to check access. If this has a linked + Account, the account is checked instead (same rules as per perm()). + permission (str): The permission string to check. + no_superuser_bypass (bool, optional): If unset, the superuser + will always pass this check. + + """ + from evennia.locks.lockfuncs import perm + if not no_superuser_bypass and obj.is_superuser: + return True + return perm(obj, None, permission) + def validate_lockstring(lockstring): """ diff --git a/docs/1.0-dev/_modules/evennia/objects/admin.html b/docs/1.0-dev/_modules/evennia/objects/admin.html deleted file mode 100644 index a4321d9dfd..0000000000 --- a/docs/1.0-dev/_modules/evennia/objects/admin.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - evennia.objects.admin — Evennia 1.0-dev documentation - - - - - - - - - - - - - -
    -
    -
    -
    - -

    Source code for evennia.objects.admin

    -#
    -# This sets up how models are displayed
    -# in the web admin interface.
    -#
    -from django import forms
    -from django.conf import settings
    -from django.contrib import admin
    -from evennia.typeclasses.admin import AttributeInline, TagInline
    -from evennia.objects.models import ObjectDB
    -from django.contrib.admin.utils import flatten_fieldsets
    -from django.utils.translation import gettext as _
    -
    -
    -
    [docs]class ObjectAttributeInline(AttributeInline): - """ - Defines inline descriptions of Attributes (experimental) - - """ - - model = ObjectDB.db_attributes.through - related_field = "objectdb"
    - - -
    [docs]class ObjectTagInline(TagInline): - """ - Defines inline descriptions of Tags (experimental) - - """ - - model = ObjectDB.db_tags.through - related_field = "objectdb"
    - - -
    [docs]class ObjectCreateForm(forms.ModelForm): - """ - This form details the look of the fields. - - """ - -
    [docs] class Meta(object): - model = ObjectDB - fields = "__all__"
    - - db_key = forms.CharField( - label="Name/Key", - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Main identifier, like 'apple', 'strong guy', 'Elizabeth' etc. " - "If creating a Character, check so the name is unique among characters!", - ) - db_typeclass_path = forms.CharField( - label="Typeclass", - initial=settings.BASE_OBJECT_TYPECLASS, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="This defines what 'type' of entity this is. This variable holds a " - "Python path to a module with a valid Evennia Typeclass. If you are " - "creating a Character you should use the typeclass defined by " - "settings.BASE_CHARACTER_TYPECLASS or one derived from that.", - ) - db_cmdset_storage = forms.CharField( - label="CmdSet", - initial="", - required=False, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Most non-character objects don't need a cmdset" - " and can leave this field blank.", - ) - raw_id_fields = ("db_destination", "db_location", "db_home")
    - - -
    [docs]class ObjectEditForm(ObjectCreateForm): - """ - Form used for editing. Extends the create one with more fields - - """ - -
    [docs] class Meta(object): - fields = "__all__"
    - - db_lock_storage = forms.CharField( - label="Locks", - required=False, - widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}), - help_text="In-game lock definition string. If not given, defaults will be used. " - "This string should be on the form " - "<i>type:lockfunction(args);type2:lockfunction2(args);...", - )
    - - -
    [docs]class ObjectDBAdmin(admin.ModelAdmin): - """ - Describes the admin page for Objects. - - """ - - inlines = [ObjectTagInline, ObjectAttributeInline] - list_display = ("id", "db_key", "db_account", "db_typeclass_path") - list_display_links = ("id", "db_key") - ordering = ["db_account", "db_typeclass_path", "id"] - search_fields = ["=id", "^db_key", "db_typeclass_path", "^db_account__db_key"] - raw_id_fields = ("db_destination", "db_location", "db_home") - - save_as = True - save_on_top = True - list_select_related = True - list_filter = ("db_typeclass_path",) - - # editing fields setup - - form = ObjectEditForm - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - ("db_lock_storage",), - ("db_location", "db_home"), - "db_destination", - "db_cmdset_storage", - ) - }, - ), - ) - - add_form = ObjectCreateForm - add_fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - ("db_location", "db_home"), - "db_destination", - "db_cmdset_storage", - ) - }, - ), - ) - -
    [docs] def get_fieldsets(self, request, obj=None): - """ - Return fieldsets. - - Args: - request (Request): Incoming request. - obj (ObjectDB, optional): Database object. - """ - if not obj: - return self.add_fieldsets - return super().get_fieldsets(request, obj)
    - -
    [docs] def get_form(self, request, obj=None, **kwargs): - """ - Use special form during creation. - - Args: - request (Request): Incoming request. - obj (Object, optional): Database object. - - """ - defaults = {} - if obj is None: - defaults.update( - {"form": self.add_form, "fields": flatten_fieldsets(self.add_fieldsets)} - ) - defaults.update(kwargs) - return super().get_form(request, obj, **defaults)
    - -
    [docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=obj.db_typeclass_path) - obj.basetype_setup() - obj.basetype_posthook_setup() - obj.at_object_creation() - obj.at_init()
    - -
    [docs] def response_add(self, request, obj, post_url_continue=None): - from django.http import HttpResponseRedirect - from django.urls import reverse - - return HttpResponseRedirect(reverse("admin:objects_objectdb_change", args=[obj.id]))
    - - -admin.site.register(ObjectDB, ObjectDBAdmin) -
    - -
    -
    -
    -
    - -
    -
    - - - - \ No newline at end of file diff --git a/docs/1.0-dev/_modules/evennia/objects/manager.html b/docs/1.0-dev/_modules/evennia/objects/manager.html index 10eae102a9..06106afa97 100644 --- a/docs/1.0-dev/_modules/evennia/objects/manager.html +++ b/docs/1.0-dev/_modules/evennia/objects/manager.html @@ -44,7 +44,6 @@ Custom manager for Objects. """ import re -from itertools import chain from django.db.models import Q from django.conf import settings from django.db.models.fields import exceptions @@ -196,7 +195,8 @@ Args: attribute_name (str): Attribute key to search for. - attribute_value (any): Attribute value to search for. This can also be database objects. + attribute_value (any): Attribute value to search for. This can also be database + objects. candidates (list, optional): Candidate objects to limit search to. typeclasses (list, optional): Python pats to restrict matches with. @@ -633,6 +633,7 @@ """ Clear the db_sessid field of all objects having also the db_account field set. + """ self.filter(db_sessid__isnull=False).update(db_sessid=None) diff --git a/docs/1.0-dev/_modules/evennia/objects/models.html b/docs/1.0-dev/_modules/evennia/objects/models.html index 5518300727..b2bf0c487d 100644 --- a/docs/1.0-dev/_modules/evennia/objects/models.html +++ b/docs/1.0-dev/_modules/evennia/objects/models.html @@ -67,7 +67,7 @@ from evennia.utils.utils import make_iter, dbref, lazy_property -
    [docs]class ContentsHandler: +
    [docs]class ContentsHandler: """ Handles and caches the contents of an object to avoid excessive lookups (this is done very often due to cmdhandler needing to look @@ -75,7 +75,7 @@ of the ObjectDB. """ -
    [docs] def __init__(self, obj): +
    [docs] def __init__(self, obj): """ Sets up the contents handler. @@ -90,7 +90,7 @@ self._typecache = defaultdict(set) self.init()
    -
    [docs] def load(self): +
    [docs] def load(self): """ Retrieves all objects from database. Used for initializing. @@ -99,7 +99,7 @@ """ return list(self.obj.locations_set.all())
    -
    [docs] def init(self): +
    [docs] def init(self): """ Re-initialize the content cache @@ -110,7 +110,7 @@ for ctype in obj._content_types: self._typecache[ctype].add(obj.pk)
    -
    [docs] def get(self, exclude=None, content_type=None): +
    [docs] def get(self, exclude=None, content_type=None): """ Return the contents of the cache. @@ -141,7 +141,7 @@ logger.log_err("contents cache failed for %s." % self.obj.key) return self.load()
    -
    [docs] def add(self, obj): +
    [docs] def add(self, obj): """ Add a new object to this location @@ -153,7 +153,7 @@ for ctype in obj._content_types: self._typecache[ctype].add(obj.pk)
    -
    [docs] def remove(self, obj): +
    [docs] def remove(self, obj): """ Remove object from this location @@ -166,7 +166,7 @@ if obj.pk in self._typecache[ctype]: self._typecache[ctype].remove(obj.pk)
    -
    [docs] def clear(self): +
    [docs] def clear(self): """ Clear the contents cache and re-initialize @@ -183,7 +183,7 @@ # ------------------------------------------------------------- -
    [docs]class ObjectDB(TypedObject): +
    [docs]class ObjectDB(TypedObject): """ All objects in the game use the ObjectDB model to store data in the database. This is handled transparently through @@ -302,7 +302,7 @@ __defaultclasspath__ = "evennia.objects.objects.DefaultObject" __applabel__ = "objects" -
    [docs] @lazy_property +
    [docs] @lazy_property def contents_cache(self): return ContentsHandler(self)
    @@ -394,7 +394,7 @@ location = property(__location_get, __location_set, __location_del) -
    [docs] def at_db_location_postsave(self, new): +
    [docs] def at_db_location_postsave(self, new): """ This is called automatically after the location field was saved, no matter how. It checks for a variable @@ -420,7 +420,7 @@ ) [o.contents_cache.init() for o in self.__dbclass__.get_all_cached_instances()]
    - class Meta(object): + class Meta: """Define Django meta options""" verbose_name = "Object" diff --git a/docs/1.0-dev/_modules/evennia/objects/objects.html b/docs/1.0-dev/_modules/evennia/objects/objects.html index d00f9ae6a4..2c6199962b 100644 --- a/docs/1.0-dev/_modules/evennia/objects/objects.html +++ b/docs/1.0-dev/_modules/evennia/objects/objects.html @@ -50,33 +50,23 @@ """ import time -import inflect from collections import defaultdict +import inflect from django.conf import settings +from django.utils.translation import gettext as _ -from evennia.typeclasses.models import TypeclassBase -from evennia.typeclasses.attributes import NickHandler, ModelAttributeBackend +from evennia.commands import cmdset +from evennia.commands.cmdsethandler import CmdSetHandler from evennia.objects.manager import ObjectManager from evennia.objects.models import ObjectDB from evennia.scripts.scripthandler import ScriptHandler -from evennia.commands import cmdset, command -from evennia.commands.cmdsethandler import CmdSetHandler -from evennia.utils import funcparser -from evennia.utils import create -from evennia.utils import search -from evennia.utils import logger -from evennia.utils import ansi -from evennia.utils.utils import ( - class_from_module, - variable_from_module, - lazy_property, - make_iter, - is_iter, - list_to_string, - to_str, -) -from django.utils.translation import gettext as _ +from evennia.typeclasses.attributes import ModelAttributeBackend, NickHandler +from evennia.typeclasses.models import TypeclassBase +from evennia.utils import ansi, create, funcparser, logger, search +from evennia.utils.utils import (class_from_module, is_iter, lazy_property, + list_to_string, make_iter, to_str, + variable_from_module) _INFLECT = inflect.engine() _MULTISESSION_MODE = settings.MULTISESSION_MODE @@ -91,16 +81,18 @@ _SESSID_MAX = 16 if _MULTISESSION_MODE in (1, 3) else 1 _MSG_CONTENTS_PARSER = funcparser.FuncParser( - {"you": funcparser.funcparser_callable_you, - "You": funcparser.funcparser_callable_You, - "conj": funcparser.funcparser_callable_conjugate - }) + { + "you": funcparser.funcparser_callable_you, + "You": funcparser.funcparser_callable_You, + "conj": funcparser.funcparser_callable_conjugate + } +) -
    [docs]class ObjectSessionHandler(object): +
    [docs]class ObjectSessionHandler: """ - Handles the get/setting of the sessid - comma-separated integer field + Handles the get/setting of the sessid comma-separated integer field + """
    [docs] def __init__(self, obj): @@ -158,7 +150,7 @@ ] if None in sessions: # this happens only if our cache has gone out of sync with the SessionHandler. - self._recache() + return self.get(sessid=sessid) return sessions
    @@ -349,6 +341,7 @@ """ Returns all exits from this object, i.e. all objects at this location having the property destination != `None`. + """ return [exi for exi in self.contents if exi.destination] @@ -395,6 +388,7 @@ Returns: singular (str): The singular form to display. plural (str): The determined plural form of the key, including the count. + """ plural_category = "plural_key" key = kwargs.get("key", self.key) @@ -750,6 +744,7 @@ Keyword Args: Keyword arguments will be passed to the function for all objects. + """ contents = self.contents if exclude: @@ -997,6 +992,7 @@ """ Destroys all of the exits and any exits pointing to this object as a destination. + """ for out_exit in [exi for exi in ObjectDB.objects.get_contents(self) if exi.db_destination]: out_exit.delete() @@ -1007,6 +1003,7 @@ """ Moves all objects (accounts/things) to their home location or to default home. + """ # Gather up everything that thinks this is its location. default_home_id = int(settings.DEFAULT_HOME.lstrip("#")) @@ -1029,11 +1026,10 @@ # If for some reason it's still None... if not home: - string = "Missing default home, '%s(#%d)' " - string += "now has a null location." obj.location = None obj.msg(_("Something went wrong! You are dumped into nowhere. Contact an admin.")) - logger.log_err(string % (obj.name, obj.dbid)) + logger.log_err("Missing default home - '{name}(#{dbid})' now " + "has a null location.".format(name=obj.name, dbid=obj.dbid)) return if obj.has_account: @@ -1147,8 +1143,8 @@
    [docs] def at_object_post_copy(self, new_obj, **kwargs): """ - Called by DefaultObject.copy(). Meant to be overloaded. In case there's extra data not covered by - .copy(), this can be used to deal with it. + Called by DefaultObject.copy(). Meant to be overloaded. In case there's extra data not + covered by .copy(), this can be used to deal with it. Args: new_obj (Object): The new Copy of this object. @@ -1589,7 +1585,8 @@ if not source_location and self.location.has_account: # This was created from nowhere and added to an account's # inventory; it's probably the result of a create command. - string = "You now have %s in your possession." % self.get_display_name(self.location) + string = _("You now have {name} in your possession.").format( + name=self.get_display_name(self.location)) self.location.msg(string) return @@ -1597,9 +1594,9 @@ if msg: string = msg else: - string = "{object} arrives to {destination} from {origin}." + string = _("{object} arrives to {destination} from {origin}.") else: - string = "{object} arrives to {destination}." + string = _("{object} arrives to {destination}.") origin = source_location destination = self.location @@ -2006,7 +2003,8 @@ a say. This is sent by the whisper command by default. Other verbal commands could use this hook in similar ways. - receivers (Object or iterable): If set, this is the target or targets for the say/whisper. + receivers (Object or iterable): If set, this is the target or targets for the + say/whisper. Returns: message (str): The (possibly modified) text to be spoken. @@ -2037,8 +2035,8 @@ msg_self (bool or str, optional): If boolean True, echo `message` to self. If a string, return that message. If False or unset, don't echo to self. msg_location (str, optional): The message to echo to self's location. - receivers (Object or iterable, optional): An eventual receiver or receivers of the message - (by default only used by whispers). + receivers (Object or iterable, optional): An eventual receiver or receivers of the + message (by default only used by whispers). msg_receivers(str): Specific message to pass to the receiver(s). This will parsed with the {receiver} placeholder replaced with the given receiver. Keyword Args: @@ -2072,7 +2070,8 @@ # whisper mode msg_type = "whisper" msg_self = ( - '{self} whisper to {all_receivers}, "|n{speech}|n"' if msg_self is True else msg_self + '{self} whisper to {all_receivers}, "|n{speech}|n"' + if msg_self is True else msg_self ) msg_receivers = msg_receivers or '{object} whispers: "|n{speech}|n"' msg_location = None @@ -2205,7 +2204,7 @@ key = cls.normalize_name(key) if not cls.validate_name(key): - errors.append("Invalid character name.") + errors.append(_("Invalid character name.")) return obj, errors # Set the supplied key as the name of the intended object @@ -2224,7 +2223,7 @@ # Check to make sure account does not have too many chars if account: if len(account.characters) >= settings.MAX_NR_CHARACTERS: - errors.append("There are too many characters associated with this account.") + errors.append(_("There are too many characters associated with this account.")) return obj, errors # Create the Character @@ -2240,7 +2239,8 @@ # Add locks if not locks and account: - # Allow only the character itself and the creator account to puppet this character (and Developers). + # Allow only the character itself and the creator account to puppet this character + # (and Developers). locks = cls.lockstring.format(**{"character_id": obj.id, "account_id": account.id}) elif not locks and not account: locks = cls.lockstring.format(**{"character_id": obj.id, "account_id": -1}) @@ -2249,10 +2249,10 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is a character." + obj.db.desc = description if description else _("This is a character.") except Exception as e: - errors.append("An error occurred while creating this '%s' object." % key) + errors.append(f"An error occurred while creating object '{key} object.") logger.log_err(e) return obj, errors
    @@ -2260,9 +2260,10 @@
    [docs] @classmethod def normalize_name(cls, name): """ - Normalize the character name prior to creating. Note that this should be refactored - to support i18n for non-latin scripts, but as we (currently) have no bug reports requesting better - support of non-latin character sets, requiring character names to be latinified is an acceptable option. + Normalize the character name prior to creating. Note that this should be refactored to + support i18n for non-latin scripts, but as we (currently) have no bug reports requesting + better support of non-latin character sets, requiring character names to be latinified is an + acceptable option. Args: name (str) : The name of the character @@ -2320,6 +2321,7 @@ Args: account (Account): This is the connecting account. session (Session): Session controlling the connection. + """ if ( self.location is None @@ -2333,7 +2335,8 @@ self.db.prelogout_location = self.location # save location again to be sure. else: account.msg( - "|r%s has no location and no home is set.|n" % self, session=session + _("|r{obj} has no location and no home is set.|n").format(obj=self), + session=session ) # Note to set home.
    [docs] def at_post_puppet(self, **kwargs): @@ -2351,11 +2354,12 @@ puppeting this Object. """ - self.msg("\nYou become |c%s|n.\n" % self.name) + self.msg(_("\nYou become |c{name}|n.\n").format(name=self.key)) self.msg((self.at_look(self.location), {"type": "look"}), options=None) def message(obj, from_obj): - obj.msg("%s has entered the game." % self.get_display_name(obj), from_obj=from_obj) + obj.msg(_("{name} has entered the game.").format(name=self.get_display_name(obj)), + from_obj=from_obj) self.location.for_contents(message, exclude=[self], from_obj=self)
    @@ -2378,7 +2382,8 @@ if self.location: def message(obj, from_obj): - obj.msg("%s has left the game." % self.get_display_name(obj), from_obj=from_obj) + obj.msg(_("{name} has left the game.").format(name=self.get_display_name(obj)), + from_obj=from_obj) self.location.for_contents(message, exclude=[self], from_obj=self) self.db.prelogout_location = self.location @@ -2389,6 +2394,7 @@ """ Returns the idle time of the least idle session in seconds. If no sessions are connected it returns nothing. + """ idle = [session.cmd_last_visible for session in self.sessions.all()] if idle: @@ -2400,6 +2406,7 @@ """ Returns the maximum connection time of all connected sessions in seconds. Returns nothing if there are no sessions. + """ conn = [session.conn_time for session in self.sessions.all()] if conn: @@ -2493,7 +2500,7 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is a room." + obj.db.desc = description if description else _("This is a room.") except Exception as e: errors.append("An error occurred while creating this '%s' object." % key) @@ -2555,7 +2562,9 @@ overriding the call (unused by default). Returns: - A string with identifying information to disambiguate the command, conventionally with a preceding space. + A string with identifying information to disambiguate the command, conventionally with a + preceding space. + """ if self.obj.destination: return " (exit to %s)" % self.obj.destination.get_display_name(caller) @@ -2697,7 +2706,7 @@ # If no description is set, set a default description if description or not obj.db.desc: - obj.db.desc = description if description else "This is an exit." + obj.db.desc = description if description else _("This is an exit.") except Exception as e: errors.append("An error occurred while creating this '%s' object." % key) @@ -2794,7 +2803,7 @@ read for an error string instead. """ - traversing_object.msg("You cannot go there.")
    + traversing_object.msg(_("You cannot go there."))
    diff --git a/docs/1.0-dev/_modules/evennia/prototypes/protfuncs.html b/docs/1.0-dev/_modules/evennia/prototypes/protfuncs.html index e2516cb283..1f36b9a99e 100644 --- a/docs/1.0-dev/_modules/evennia/prototypes/protfuncs.html +++ b/docs/1.0-dev/_modules/evennia/prototypes/protfuncs.html @@ -93,8 +93,6 @@ return prot_value
    - - # this is picked up by FuncParser FUNCPARSER_CALLABLES = { "protkey": protfunc_callable_protkey, diff --git a/docs/1.0-dev/_modules/evennia/prototypes/prototypes.html b/docs/1.0-dev/_modules/evennia/prototypes/prototypes.html index 9b0b8b3b8c..19e26d7133 100644 --- a/docs/1.0-dev/_modules/evennia/prototypes/prototypes.html +++ b/docs/1.0-dev/_modules/evennia/prototypes/prototypes.html @@ -49,10 +49,10 @@ import hashlib import time -from ast import literal_eval from django.conf import settings -from django.db.models import Q, Subquery +from django.db.models import Q from django.core.paginator import Paginator +from django.utils.translation import gettext as _ from evennia.scripts.scripts import DefaultScript from evennia.objects.models import ObjectDB from evennia.typeclasses.attributes import Attribute @@ -64,10 +64,6 @@ make_iter, is_iter, dbid_to_obj, - callables_from_module, - get_all_typeclasses, - to_str, - dbref, justify, class_from_module, ) @@ -100,6 +96,8 @@ "tags", "attrs", ) +_ERRSTR = _("Error") +_WARNSTR = _("Warning") PROTOTYPE_TAG_CATEGORY = "from_prototype" _PROTOTYPE_TAG_META_CATEGORY = "db_prototype" @@ -126,7 +124,6 @@ """ Homogenize the more free-form prototype supported pre Evennia 0.7 into the stricter form. - Args: prototype (dict): Prototype. custom_keys (list, optional): Custom keys which should not be interpreted as attrs, beyond @@ -253,6 +250,7 @@
    [docs]class DbPrototype(DefaultScript): """ This stores a single prototype, in an Attribute `prototype`. + """
    [docs] def at_script_creation(self): @@ -304,7 +302,7 @@ prototype_key = in_prototype.get("prototype_key") if not prototype_key: - raise ValidationError("Prototype requires a prototype_key") + raise ValidationError(_("Prototype requires a prototype_key")) prototype_key = str(prototype_key).lower() @@ -312,7 +310,8 @@ if prototype_key in _MODULE_PROTOTYPES: mod = _MODULE_PROTOTYPE_MODULES.get(prototype_key, "N/A") raise PermissionError( - "{} is a read-only prototype " "(defined as code in {}).".format(prototype_key, mod) + _("{protkey} is a read-only prototype " "(defined as code in {module}).").format( + protkey=prototype_key, module=mod) ) # make sure meta properties are included with defaults @@ -379,20 +378,23 @@ if prototype_key in _MODULE_PROTOTYPES: mod = _MODULE_PROTOTYPE_MODULES.get(prototype_key.lower(), "N/A") raise PermissionError( - "{} is a read-only prototype " "(defined as code in {}).".format(prototype_key, mod) + _("{protkey} is a read-only prototype " "(defined as code in {module}).").format( + protkey=prototype_key, module=mod) ) stored_prototype = DbPrototype.objects.filter(db_key__iexact=prototype_key) if not stored_prototype: - raise PermissionError("Prototype {} was not found.".format(prototype_key)) + raise PermissionError(_("Prototype {prototype_key} was not found.").format( + prototype_key=prototype_key)) stored_prototype = stored_prototype[0] if caller: if not stored_prototype.access(caller, "edit"): raise PermissionError( - "{} needs explicit 'edit' permissions to " - "delete prototype {}.".format(caller, prototype_key) + _("{caller} needs explicit 'edit' permissions to " + "delete prototype {prototype_key}.").format( + caller=caller, prototype_key=prototype_key) ) stored_prototype.delete() return True
    @@ -491,7 +493,11 @@ nmodules = len(module_prototypes) ndbprots = db_matches.count() if nmodules + ndbprots != 1: - raise KeyError(f"Found {nmodules + ndbprots} matching prototypes {module_prototypes}.") + raise KeyError(_( + "Found {num} matching prototypes {module_prototypes}.").format( + num=nmodules + ndbprots, + module_prototypes=module_prototypes) + ) if return_iterators: # trying to get the entire set of prototypes - we must paginate @@ -521,10 +527,14 @@ Listing 1000+ prototypes can be very slow. So we customize EvMore to display an EvTable per paginated page rather than to try creating an EvTable for the entire dataset and then paginate it. + """
    [docs] def __init__(self, caller, *args, session=None, **kwargs): - """Store some extra properties on the EvMore class""" + """ + Store some extra properties on the EvMore class + + """ self.show_non_use = kwargs.pop("show_non_use", False) self.show_non_edit = kwargs.pop("show_non_edit", False) super().__init__(caller, *args, session=session, **kwargs)
    @@ -535,6 +545,7 @@ and we must handle these separately since they cannot be paginated in the same way. We will build the prototypes so that the db-prototypes come first (they are likely the most volatile), followed by the mod-prototypes. + """ dbprot_query, modprot_list = inp # set the number of entries per page to half the reported height of the screen @@ -556,6 +567,7 @@ """ The listing is separated in db/mod prototypes, so we need to figure out which one to pick based on the page number. Also, pageno starts from 0. + """ dbprot_pages, modprot_list = self._data @@ -564,15 +576,16 @@ else: # get the correct slice, adjusted for the db-prototypes pageno = max(0, pageno - self._npages_db) - return modprot_list[pageno * self.height : pageno * self.height + self.height]
    + return modprot_list[pageno * self.height: pageno * self.height + self.height]
    [docs] def page_formatter(self, page): - """Input is a queryset page from django.Paginator""" + """ + Input is a queryset page from django.Paginator + + """ caller = self._caller # get use-permissions of readonly attributes (edit is always False) - display_tuples = [] - table = EvTable( "|wKey|n", "|wSpawn/Edit|n", @@ -641,7 +654,7 @@ dbprot_query, modprot_list = search_prototype(key, tags, return_iterators=True) if not dbprot_query and not modprot_list: - caller.msg("No prototypes found.", session=session) + caller.msg(_("No prototypes found."), session=session) return None # get specific prototype (one value or exception) @@ -692,7 +705,7 @@ protkey = protkey and protkey.lower() or prototype.get("prototype_key", None) if strict and not bool(protkey): - _flags["errors"].append("Prototype lacks a `prototype_key`.") + _flags["errors"].append(_("Prototype lacks a 'prototype_key'.")) protkey = "[UNSET]" typeclass = prototype.get("typeclass") @@ -701,12 +714,13 @@ if strict and not (typeclass or prototype_parent): if is_prototype_base: _flags["errors"].append( - "Prototype {} requires `typeclass` " "or 'prototype_parent'.".format(protkey) + _("Prototype {protkey} requires `typeclass` " "or 'prototype_parent'.").format( + protkey=protkey) ) else: _flags["warnings"].append( - "Prototype {} can only be used as a mixin since it lacks " - "a typeclass or a prototype_parent.".format(protkey) + _("Prototype {protkey} can only be used as a mixin since it lacks " + "'typeclass' or 'prototype_parent' keys.").format(protkey=protkey) ) if strict and typeclass: @@ -714,9 +728,9 @@ class_from_module(typeclass) except ImportError as err: _flags["errors"].append( - "{}: Prototype {} is based on typeclass {}, which could not be imported!".format( - err, protkey, typeclass - ) + _("{err}: Prototype {protkey} is based on typeclass {typeclass}, " + "which could not be imported!").format( + err=err, protkey=protkey, typeclass=typeclass) ) # recursively traverese prototype_parent chain @@ -724,19 +738,22 @@ for protstring in make_iter(prototype_parent): protstring = protstring.lower() if protkey is not None and protstring == protkey: - _flags["errors"].append("Prototype {} tries to parent itself.".format(protkey)) + _flags["errors"].append(_("Prototype {protkey} tries to parent itself.").format( + protkey=protkey)) protparent = protparents.get(protstring) if not protparent: _flags["errors"].append( - "Prototype {}'s prototype_parent '{}' was not found.".format(protkey, protstring) + _("Prototype {protkey}'s prototype_parent '{parent}' was not found.").format( + protkey=protkey, parent=protstring) ) if id(prototype) in _flags["visited"]: _flags["errors"].append( - "{} has infinite nesting of prototypes.".format(protkey or prototype) + _("{protkey} has infinite nesting of prototypes.").format( + protkey=protkey or prototype) ) if _flags["errors"]: - raise RuntimeError("Error: " + "\nError: ".join(_flags["errors"])) + raise RuntimeError(f"{_ERRSTR}: " + f"\n{_ERRSTR}: ".join(_flags["errors"])) _flags["visited"].append(id(prototype)) _flags["depth"] += 1 validate_prototype( @@ -751,16 +768,16 @@ # if we get back to the current level without a typeclass it's an error. if strict and is_prototype_base and _flags["depth"] <= 0 and not _flags["typeclass"]: _flags["errors"].append( - "Prototype {} has no `typeclass` defined anywhere in its parent\n " - "chain. Add `typeclass`, or a `prototype_parent` pointing to a " - "prototype with a typeclass.".format(protkey) + _("Prototype {protkey} has no `typeclass` defined anywhere in its parent\n " + "chain. Add `typeclass`, or a `prototype_parent` pointing to a " + "prototype with a typeclass.").format(protkey=protkey) ) if _flags["depth"] <= 0: if _flags["errors"]: - raise RuntimeError("Error: " + "\nError: ".join(_flags["errors"])) + raise RuntimeError(f"{_ERRSTR}:_" + f"\n{_ERRSTR}: ".join(_flags["errors"])) if _flags["warnings"]: - raise RuntimeWarning("Warning: " + "\nWarning: ".join(_flags["warnings"])) + raise RuntimeWarning(f"{_WARNSTR}: " + f"\n{_WARNSTR}: ".join(_flags["warnings"])) # make sure prototype_locks are set to defaults prototype_locks = [ @@ -873,10 +890,10 @@ category=category if category else "|wNone|n" ) out.append( - "{attrkey}{cat_locks} |c=|n {value}".format( + "{attrkey}{cat_locks}{locks} |c=|n {value}".format( attrkey=attrkey, cat_locks=cat_locks, - locks=locks if locks else "|wNone|n", + locks=" |w(locks:|n {locks})".format(locks=locks) if locks else "", value=value, ) ) diff --git a/docs/1.0-dev/_modules/evennia/prototypes/spawner.html b/docs/1.0-dev/_modules/evennia/prototypes/spawner.html index eda8a2a1cf..ef0ca09bd3 100644 --- a/docs/1.0-dev/_modules/evennia/prototypes/spawner.html +++ b/docs/1.0-dev/_modules/evennia/prototypes/spawner.html @@ -82,8 +82,8 @@ supported are 'edit' and 'use'. prototype_tags(list, optional): List of tags or tuples (tag, category) used to group prototype in listings - prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent prototype, or - a list of parents, for multiple left-to-right inheritance. + prototype_parent (str, tuple or callable, optional): name (prototype_key) of eventual parent + prototype, or a list of parents, for multiple left-to-right inheritance. prototype: Deprecated. Same meaning as 'parent'. typeclass (str or callable, optional): if not set, will use typeclass of parent prototype or use @@ -180,6 +180,7 @@ import time from django.conf import settings +from django.utils.translation import gettext as _ import evennia from evennia.objects.models import ObjectDB @@ -397,8 +398,8 @@ This is most useful for displaying. implicit_keep (bool, optional): If set, the resulting diff will assume KEEP unless the new prototype explicitly change them. That is, if a key exists in `prototype1` and - not in `prototype2`, it will not be REMOVEd but set to KEEP instead. This is particularly - useful for auto-generated prototypes when updating objects. + not in `prototype2`, it will not be REMOVEd but set to KEEP instead. This is + particularly useful for auto-generated prototypes when updating objects. Returns: diff (dict): A structure detailing how to convert prototype1 to prototype2. All @@ -511,8 +512,8 @@ out.extend(_get_all_nested_diff_instructions(val)) else: raise RuntimeError( - "Diff contains non-dicts that are not on the " - "form (old, new, inst): {}".format(diffpart) + _("Diff contains non-dicts that are not on the " + "form (old, new, action_to_take): {diffpart}").format(diffpart) ) return out @@ -735,11 +736,13 @@ elif key == "permissions": if directive == "REPLACE": obj.permissions.clear() - obj.permissions.batch_add(*(init_spawn_value(perm, str, caller=caller) for perm in val)) + obj.permissions.batch_add(*(init_spawn_value(perm, str, caller=caller) + for perm in val)) elif key == "aliases": if directive == "REPLACE": obj.aliases.clear() - obj.aliases.batch_add(*(init_spawn_value(alias, str, caller=caller) for alias in val)) + obj.aliases.batch_add(*(init_spawn_value(alias, str, caller=caller) + for alias in val)) elif key == "tags": if directive == "REPLACE": obj.tags.clear() @@ -965,7 +968,8 @@ create_kwargs["db_home"] = init_spawn_value(val, value_to_obj, caller=caller) else: try: - create_kwargs["db_home"] = init_spawn_value(settings.DEFAULT_HOME, value_to_obj, caller=caller) + create_kwargs["db_home"] = init_spawn_value( + settings.DEFAULT_HOME, value_to_obj, caller=caller) except ObjectDB.DoesNotExist: # settings.DEFAULT_HOME not existing is common for unittests pass @@ -987,7 +991,8 @@ val = prot.pop("tags", []) tags = [] for (tag, category, *data) in val: - tags.append((init_spawn_value(tag, str, caller=caller), category, data[0] if data else None)) + tags.append((init_spawn_value(tag, str, caller=caller), category, data[0] + if data else None)) prototype_key = prototype.get("prototype_key", None) if prototype_key: diff --git a/docs/1.0-dev/_modules/evennia/scripts/admin.html b/docs/1.0-dev/_modules/evennia/scripts/admin.html deleted file mode 100644 index 74b47da2d9..0000000000 --- a/docs/1.0-dev/_modules/evennia/scripts/admin.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - evennia.scripts.admin — Evennia 1.0-dev documentation - - - - - - - - - - - - - -
    -
    -
    -
    - -

    Source code for evennia.scripts.admin

    -#
    -# This sets up how models are displayed
    -# in the web admin interface.
    -#
    -from django.conf import settings
    -
    -from evennia.typeclasses.admin import AttributeInline, TagInline
    -
    -from evennia.scripts.models import ScriptDB
    -from django.contrib import admin
    -
    -
    -
    [docs]class ScriptTagInline(TagInline): - """ - Inline script tags. - - """ - - model = ScriptDB.db_tags.through - related_field = "scriptdb"
    - - -
    [docs]class ScriptAttributeInline(AttributeInline): - """ - Inline attribute tags. - - """ - - model = ScriptDB.db_attributes.through - related_field = "scriptdb"
    - - -
    [docs]class ScriptDBAdmin(admin.ModelAdmin): - """ - Displaying the main Script page. - - """ - - list_display = ( - "id", - "db_key", - "db_typeclass_path", - "db_obj", - "db_interval", - "db_repeats", - "db_persistent", - ) - list_display_links = ("id", "db_key") - ordering = ["db_obj", "db_typeclass_path"] - search_fields = ["^db_key", "db_typeclass_path"] - save_as = True - save_on_top = True - list_select_related = True - raw_id_fields = ("db_obj",) - - fieldsets = ( - ( - None, - { - "fields": ( - ("db_key", "db_typeclass_path"), - "db_interval", - "db_repeats", - "db_start_delay", - "db_persistent", - "db_obj", - ) - }, - ), - ) - inlines = [ScriptTagInline, ScriptAttributeInline] - -
    [docs] def save_model(self, request, obj, form, change): - """ - Model-save hook. - - Args: - request (Request): Incoming request. - obj (Object): Database object. - form (Form): Form instance. - change (bool): If this is a change or a new object. - - """ - obj.save() - if not change: - # adding a new object - # have to call init with typeclass passed to it - obj.set_class_from_typeclass(typeclass_path=obj.db_typeclass_path)
    - - -admin.site.register(ScriptDB, ScriptDBAdmin) -
    - -
    -
    -
    -
    - -
    -
    - - - - \ No newline at end of file diff --git a/docs/1.0-dev/_modules/evennia/scripts/models.html b/docs/1.0-dev/_modules/evennia/scripts/models.html index 5a5916b18f..b57915842b 100644 --- a/docs/1.0-dev/_modules/evennia/scripts/models.html +++ b/docs/1.0-dev/_modules/evennia/scripts/models.html @@ -85,7 +85,7 @@ # ------------------------------------------------------------ -
    [docs]class ScriptDB(TypedObject): +
    [docs]class ScriptDB(TypedObject): """ The Script database representation. diff --git a/docs/1.0-dev/_modules/evennia/scripts/monitorhandler.html b/docs/1.0-dev/_modules/evennia/scripts/monitorhandler.html index 59110a6d37..ffcd7c8a17 100644 --- a/docs/1.0-dev/_modules/evennia/scripts/monitorhandler.html +++ b/docs/1.0-dev/_modules/evennia/scripts/monitorhandler.html @@ -69,11 +69,13 @@ """ This is a resource singleton that allows for registering callbacks for when a field or Attribute is updated (saved). + """
    [docs] def __init__(self): """ Initialize the handler. + """ self.savekey = "_monitorhandler_save" self.monitors = defaultdict(lambda: defaultdict(dict))
    diff --git a/docs/1.0-dev/_modules/evennia/scripts/scripts.html b/docs/1.0-dev/_modules/evennia/scripts/scripts.html index 0b75dfc63a..b56607bf8d 100644 --- a/docs/1.0-dev/_modules/evennia/scripts/scripts.html +++ b/docs/1.0-dev/_modules/evennia/scripts/scripts.html @@ -368,8 +368,8 @@ """ cname = self.__class__.__name__ estring = _( - "Script %(key)s(#%(dbid)s) of type '%(cname)s': at_repeat() error '%(err)s'." - ) % {"key": self.key, "dbid": self.dbid, "cname": cname, "err": e.getErrorMessage()} + "Script {key}(#{dbid}) of type '{name}': at_repeat() error '{err}'.".format( + key=self.key, dbid=self.dbid, name=cname, err=e.getErrorMessage())) try: self.db_obj.msg(estring) except Exception: diff --git a/docs/1.0-dev/_modules/evennia/scripts/taskhandler.html b/docs/1.0-dev/_modules/evennia/scripts/taskhandler.html index 5b051972df..908679e3c4 100644 --- a/docs/1.0-dev/_modules/evennia/scripts/taskhandler.html +++ b/docs/1.0-dev/_modules/evennia/scripts/taskhandler.html @@ -104,22 +104,28 @@ return TASK_HANDLER.get_deferred(self.task_id)
    [docs] def pause(self): - """Pause the callback of a task. - To resume use TaskHandlerTask.unpause + """ + Pause the callback of a task. + To resume use `TaskHandlerTask.unpause`. + """ d = self.deferred if d: d.pause()
    [docs] def unpause(self): - """Unpause a task, run the task if it has passed delay time.""" + """ + Unpause a task, run the task if it has passed delay time. + + """ d = self.deferred if d: d.unpause()
    @property def paused(self): - """A task attribute to check if the deferred instance of a task has been paused. + """ + A task attribute to check if the deferred instance of a task has been paused. This exists to mock usage of a twisted deferred object. @@ -135,7 +141,8 @@ return None
    [docs] def do_task(self): - """Execute the task (call its callback). + """ + Execute the task (call its callback). If calling before timedelay, cancel the deferred instance affliated to this task. Remove the task from the dictionary of current tasks on a successful callback. @@ -148,7 +155,8 @@ return TASK_HANDLER.do_task(self.task_id)
    [docs] def call(self): - """Call the callback of a task. + """ + Call the callback of a task. Leave the task unaffected otherwise. This does not use the task's deferred instance. The only requirement is that the task exist in task handler. @@ -215,7 +223,8 @@ return None
    [docs] def exists(self): - """Check if a task exists. + """ + Check if a task exists. Most task handler methods check for existence for you. Returns: @@ -225,7 +234,8 @@ return TASK_HANDLER.exists(self.task_id)
    [docs] def get_id(self): - """ Returns the global id for this task. For use with + """ + Returns the global id for this task. For use with `evennia.scripts.taskhandler.TASK_HANDLER`. Returns: @@ -257,7 +267,7 @@ self.clock = reactor # number of seconds before an uncalled canceled task is removed from TaskHandler self.stale_timeout = 60 - self._now = False # used in unit testing to manually set now time
    + self._now = False # used in unit testing to manually set now time
    [docs] def load(self): """Load from the ServerConfig. @@ -313,7 +323,10 @@ return True
    [docs] def save(self): - """Save the tasks in ServerConfig.""" + """ + Save the tasks in ServerConfig. + + """ for task_id, (date, callback, args, kwargs, persistent, _) in self.tasks.items(): if task_id in self.to_save: @@ -328,14 +341,12 @@ callback = (obj, name) # Check if callback can be pickled. args and kwargs have been checked - safe_callback = None - - self.to_save[task_id] = dbserialize((date, callback, args, kwargs)) ServerConfig.objects.conf("delayed_tasks", self.to_save)
    [docs] def add(self, timedelay, callback, *args, **kwargs): - """Add a new task. + """ + Add a new task. If the persistent kwarg is truthy: The callback, args and values for kwarg will be serialized. Type @@ -441,7 +452,8 @@ return TaskHandlerTask(task_id)
    [docs] def exists(self, task_id): - """Check if a task exists. + """ + Check if a task exists. Most task handler methods check for existence for you. Args: @@ -457,7 +469,8 @@ return False
    [docs] def active(self, task_id): - """Check if a task is active (has not been called yet). + """ + Check if a task is active (has not been called yet). Args: task_id (int): an existing task ID. @@ -475,7 +488,8 @@ return False
    [docs] def cancel(self, task_id): - """Stop a task from automatically executing. + """ + Stop a task from automatically executing. This will not remove the task. Args: @@ -501,7 +515,8 @@ return False
    [docs] def remove(self, task_id): - """Remove a task without executing it. + """ + Remove a task without executing it. Deletes the instance of the task's deferred. Args: @@ -527,8 +542,8 @@ return True
    [docs] def clear(self, save=True, cancel=True): - """clear all tasks. - By default tasks are canceled and removed from the database also. + """ + Clear all tasks. By default tasks are canceled and removed from the database as well. Args: save=True (bool): Should changes to persistent tasks be saved to database. @@ -550,7 +565,8 @@ return True
    [docs] def call_task(self, task_id): - """Call the callback of a task. + """ + Call the callback of a task. Leave the task unaffected otherwise. This does not use the task's deferred instance. The only requirement is that the task exist in task handler. @@ -570,7 +586,8 @@ return callback(*args, **kwargs)
    [docs] def do_task(self, task_id): - """Execute the task (call its callback). + """ + Execute the task (call its callback). If calling before timedelay cancel the deferred instance affliated to this task. Remove the task from the dictionary of current tasks on a successful callback. @@ -615,7 +632,8 @@ return None
    [docs] def create_delays(self): - """Create the delayed tasks for the persistent tasks. + """ + Create the delayed tasks for the persistent tasks. This method should be automatically called when Evennia starts. """ diff --git a/docs/1.0-dev/_modules/evennia/server/deprecations.html b/docs/1.0-dev/_modules/evennia/server/deprecations.html index eaa8f30604..af0dd89200 100644 --- a/docs/1.0-dev/_modules/evennia/server/deprecations.html +++ b/docs/1.0-dev/_modules/evennia/server/deprecations.html @@ -46,7 +46,7 @@ These all print to the terminal. """ - +import os
    [docs]def check_errors(settings): """ @@ -163,7 +163,23 @@ raise DeprecationWarning( "settings.CHANNEL_HANDLER_CLASS and CHANNEL COMMAND_CLASS are " "unused and should be removed. The ChannelHandler is no more; " - "channels are now handled by aliasing the default 'channel' command.")
    + "channels are now handled by aliasing the default 'channel' command.") + + template_overrides_dir = os.path.join(settings.GAME_DIR, "web", "template_overrides") + static_overrides_dir = os.path.join(settings.GAME_DIR, "web", "static_overrides") + if os.path.exists(template_overrides_dir): + raise DeprecationWarning( + f"The template_overrides directory ({template_overrides_dir}) has changed name.\n" + " - Rename your existing `template_overrides` folder to `templates` instead." + ) + if os.path.exists(static_overrides_dir): + raise DeprecationWarning( + f"The static_overrides directory ({static_overrides_dir}) has changed name.\n" + " 1. Delete any existing `web/static` folder and all its contents (this " + "was auto-generated)\n" + " 2. Rename your existing `static_overrides` folder to `static` instead." + )
    +
    [docs]def check_warnings(settings): """ diff --git a/docs/1.0-dev/_modules/evennia/server/initial_setup.html b/docs/1.0-dev/_modules/evennia/server/initial_setup.html index e16026429d..84b5d84469 100644 --- a/docs/1.0-dev/_modules/evennia/server/initial_setup.html +++ b/docs/1.0-dev/_modules/evennia/server/initial_setup.html @@ -67,13 +67,11 @@ """ -LIMBO_DESC = _( - """ -Welcome to your new |wEvennia|n-based game! Visit http://www.evennia.com if you need -help, want to contribute, report issues or just join the community. -As Account #1 you can create a demo/tutorial area with '|wbatchcommand tutorial_world.build|n'. - """ -) +LIMBO_DESC = _(""" +Welcome to your new |wEvennia|n-based game! Visit https://www.evennia.com if you need +help, want to contribute, report issues or just join the community. +As Account #1 you can create a demo/tutorial area with '|wbatchcommand tutorial_world.build|n'. +""") WARNING_POSTGRESQL_FIX = """ @@ -82,7 +80,7 @@ but the superuser was not yet connected to them. Please use in game commands to connect Account #1 to those channels when first logging in. - """ +"""
    [docs]def get_god_account(): diff --git a/docs/1.0-dev/_modules/evennia/server/models.html b/docs/1.0-dev/_modules/evennia/server/models.html index d6c3c1c57d..2fcfdb8116 100644 --- a/docs/1.0-dev/_modules/evennia/server/models.html +++ b/docs/1.0-dev/_modules/evennia/server/models.html @@ -50,9 +50,8 @@ manager's conf() method. """ -import pickle - from django.db import models + from evennia.utils.idmapper.models import WeakSharedMemoryModel from evennia.utils import logger, utils from evennia.utils.dbserialize import to_pickle, from_pickle @@ -152,7 +151,7 @@ value = property(__value_get, __value_set, __value_del) - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Server Config value" verbose_name_plural = "Server Config values" @@ -160,9 +159,8 @@ # # ServerConfig other methods # - def __repr__(self): - return "<{} {}>".format(self.__class__.__name__, self.key, self.value) + return "<{} {}>".format(self.__class__.__name__, self.key)
    [docs] def store(self, key, value): """ diff --git a/docs/1.0-dev/_modules/evennia/server/portal/amp.html b/docs/1.0-dev/_modules/evennia/server/portal/amp.html index f93f891420..7ebfde72aa 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/amp.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/amp.html @@ -135,7 +135,10 @@ def _get_logger(): - "Delay import of logger until absolutely necessary" + """ + Delay import of logger until absolutely necessary + + """ global _LOGGER if not _LOGGER: from evennia.utils import logger as _LOGGER @@ -144,7 +147,10 @@ @wraps def catch_traceback(func): - "Helper decorator" + """ + Helper decorator + + """ def decorator(*args, **kwargs): try: @@ -395,6 +401,7 @@
    [docs] def dataReceived(self, data): """ Handle non-AMP messages, such as HTTP communication. + """ # print("dataReceived: {}".format(data)) if data[:1] == NUL: @@ -455,6 +462,7 @@ that is irrelevant. If a true connection error happens, the portal will continuously try to reconnect, showing the problem that way. + """ # print("ConnectionLost: {}: {}".format(self, reason)) try: @@ -464,20 +472,20 @@ # Error handling -
    [docs] def errback(self, e, info): +
    [docs] def errback(self, err, info): """ Error callback. Handles errors to avoid dropping connections on server tracebacks. Args: - e (Failure): Deferred error instance. + err (Failure): Deferred error instance. info (str): Error string. """ - e.trap(Exception) + err.trap(Exception) _get_logger().log_err( "AMP Error from {info}: {trcbck} {err}".format( - info=info, trcbck=e.getTraceback(), err=e.getErrorMessage() + info=info, trcbck=err.getTraceback(), err=err.getErrorMessage() ) )
    diff --git a/docs/1.0-dev/_modules/evennia/server/portal/amp_server.html b/docs/1.0-dev/_modules/evennia/server/portal/amp_server.html index f908e5e0fd..922627b500 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/amp_server.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/amp_server.html @@ -85,7 +85,10 @@ noisy = False
    [docs] def logPrefix(self): - "How this is named in logs" + """ + How this is named in logs + + """ return "AMP"
    [docs] def __init__(self, portal): diff --git a/docs/1.0-dev/_modules/evennia/server/portal/grapevine.html b/docs/1.0-dev/_modules/evennia/server/portal/grapevine.html index 2c04d747d1..ee96b00777 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/grapevine.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/grapevine.html @@ -377,7 +377,7 @@ # incoming broadcast from network payload = data["payload"] - print("channels/broadcast:", payload["channel"], self.channel) + # print("channels/broadcast:", payload["channel"], self.channel) if str(payload["channel"]) != self.channel: # only echo from channels this particular bot actually listens to return diff --git a/docs/1.0-dev/_modules/evennia/server/portal/portal.html b/docs/1.0-dev/_modules/evennia/server/portal/portal.html index ddf4958c25..282ed7a6de 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/portal.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/portal.html @@ -225,6 +225,7 @@ Returns: server_twistd_cmd (list): An instruction for starting the server, to pass to Popen. + """ server_twistd_cmd = [ "twistd", @@ -238,7 +239,10 @@ return server_twistd_cmd
    [docs] def get_info_dict(self): - "Return the Portal info, for display." + """ + Return the Portal info, for display. + + """ return INFO_DICT
    [docs] def shutdown(self, _reactor_stopping=False, _stop_server=False): @@ -396,7 +400,8 @@ for port in SSH_PORTS: pstring = "%s:%s" % (ifacestr, port) factory = ssh.makeFactory( - {"protocolFactory": _ssh_protocol, "protocolArgs": (), "sessions": PORTAL_SESSIONS,} + {"protocolFactory": _ssh_protocol, + "protocolArgs": (), "sessions": PORTAL_SESSIONS} ) factory.noisy = False ssh_service = internet.TCPServer(port, factory, interface=interface) @@ -432,7 +437,7 @@ if WEBSOCKET_CLIENT_ENABLED and not websocket_started: # start websocket client port for the webclient # we only support one websocket client - from evennia.server.portal import webclient + from evennia.server.portal import webclient # noqa from autobahn.twisted.websocket import WebSocketServerFactory w_interface = WEBSOCKET_CLIENT_INTERFACE @@ -459,10 +464,13 @@ if WEB_PLUGINS_MODULE: try: web_root = WEB_PLUGINS_MODULE.at_webproxy_root_creation(web_root) - except Exception as e: # Legacy user has not added an at_webproxy_root_creation function in existing web plugins file + except Exception: + # Legacy user has not added an at_webproxy_root_creation function in existing + # web plugins file INFO_DICT["errors"] = ( - "WARNING: WEB_PLUGINS_MODULE is enabled but at_webproxy_root_creation() not found - " - "copy 'evennia/game_template/server/conf/web_plugins.py to mygame/server/conf." + "WARNING: WEB_PLUGINS_MODULE is enabled but at_webproxy_root_creation() " + "not found copy 'evennia/game_template/server/conf/web_plugins.py to " + "mygame/server/conf." ) web_root = Website(web_root, logPath=settings.HTTP_LOG_FILE) web_root.is_portal = True @@ -477,7 +485,6 @@ # external plugin services to start if plugin_module: plugin_module.start_plugin_services(PORTAL) -
    diff --git a/docs/1.0-dev/_modules/evennia/server/portal/portalsessionhandler.html b/docs/1.0-dev/_modules/evennia/server/portal/portalsessionhandler.html index 8c04171350..a4047de2d7 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/portalsessionhandler.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/portalsessionhandler.html @@ -41,7 +41,8 @@

    Source code for evennia.server.portal.portalsessionhandler

     """
    -Sessionhandler for portal sessions
    +Sessionhandler for portal sessions.
    +
     """
     
     
    @@ -53,6 +54,7 @@
     from evennia.server.portal.amp import PCONN, PDISCONN, PCONNSYNC, PDISCONNALL
     from evennia.utils.logger import log_trace
     from evennia.utils.utils import class_from_module
    +from django.utils.translation import gettext as _
     
     # module import
     _MOD_IMPORT = None
    @@ -77,6 +79,8 @@
     # Portal-SessionHandler class
     # -------------------------------------------------------------
     
    +DOS_PROTECTION_MSG = _("{servername} DoS protection is active. You are queued to connect in {num} seconds ...")
    +
     
     
    [docs]class PortalSessionHandler(SessionHandler): """ @@ -153,16 +157,12 @@ _CONNECTION_QUEUE.appendleft(session) if len(_CONNECTION_QUEUE) > 1: session.data_out( - text=[ - [ - "%s DoS protection is active. You are queued to connect in %g seconds ..." - % ( - settings.SERVERNAME, - len(_CONNECTION_QUEUE) * _MIN_TIME_BETWEEN_CONNECTS, - ) - ], + text=( + (DOS_PROTECTION_MSG.format( + servername=settings.SERVERNAME, + num=len(_CONNECTION_QUEUE) * _MIN_TIME_BETWEEN_CONNECTS),), {}, - ] + ) ) now = time.time() if ( @@ -262,6 +262,7 @@
    [docs] def disconnect_all(self): """ Disconnect all sessions, informing the Server. + """ def _callback(result, sessionhandler): @@ -520,7 +521,6 @@ _PORTAL_SESSION_HANDLER_CLASS = class_from_module(settings.PORTAL_SESSION_HANDLER_CLASS) - PORTAL_SESSIONS = _PORTAL_SESSION_HANDLER_CLASS()
    diff --git a/docs/1.0-dev/_modules/evennia/server/portal/rss.html b/docs/1.0-dev/_modules/evennia/server/portal/rss.html index 08e405ec77..496430cc4a 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/rss.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/rss.html @@ -187,6 +187,7 @@
    [docs] def start(self): """ Called by portalsessionhandler. Starts the bot. + """ def errback(fail): diff --git a/docs/1.0-dev/_modules/evennia/server/portal/ssh.html b/docs/1.0-dev/_modules/evennia/server/portal/ssh.html index 81e37bd633..00ed76121a 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/ssh.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/ssh.html @@ -103,24 +103,25 @@ CTRL_BACKSLASH = "\x1c" CTRL_L = "\x0c" -_NO_AUTOGEN = """ -Evennia could not generate SSH private- and public keys ({{err}}) +_NO_AUTOGEN = f""" +Evennia could not generate SSH private- and public keys ({{err}}) Using conch default keys instead. If this error persists, create the keys manually (using the tools for your OS) and put them here: - {} - {} -""".format( - _PRIVATE_KEY_FILE, _PUBLIC_KEY_FILE -) + {_PRIVATE_KEY_FILE} + {_PUBLIC_KEY_FILE} +""" _BASE_SESSION_CLASS = class_from_module(settings.BASE_SESSION_CLASS) # not used atm
    [docs]class SSHServerFactory(protocol.ServerFactory): - "This is only to name this better in logs" + """ + This is only to name this better in logs + + """ noisy = False
    [docs] def logPrefix(self): diff --git a/docs/1.0-dev/_modules/evennia/server/portal/ssl.html b/docs/1.0-dev/_modules/evennia/server/portal/ssl.html index 486b2834f5..5dd655dced 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/ssl.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/ssl.html @@ -92,6 +92,7 @@ """ Communication is the same as telnet, except data transfer is done with encryption. + """
    [docs] def __init__(self, *args, **kwargs): @@ -104,6 +105,7 @@ This function looks for RSA key and certificate in the current directory. If files ssl.key and ssl.cert does not exist, they are created. + """ if not (os.path.exists(keyfile) and os.path.exists(certfile)): @@ -116,10 +118,11 @@ try: # create the RSA key and store it. - KEY_LENGTH = 1024 - rsaKey = Key(RSA.generate(KEY_LENGTH)) - keyString = rsaKey.toString(type="OPENSSH") - file(keyfile, "w+b").write(keyString) + KEY_LENGTH = 2048 + rsa_key = Key(RSA.generate(KEY_LENGTH)) + key_string = rsa_key.toString(type="OPENSSH") + with open(keyfile, "w+b") as fil: + fil.write(key_string) except Exception as err: print(NO_AUTOGEN.format(err=err, keyfile=keyfile)) sys.exit(5) diff --git a/docs/1.0-dev/_modules/evennia/server/portal/telnet.html b/docs/1.0-dev/_modules/evennia/server/portal/telnet.html index c73d69b015..649632fc09 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/telnet.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/telnet.html @@ -101,7 +101,10 @@
    [docs]class TelnetServerFactory(protocol.ServerFactory): - "This is only to name this better in logs" + """ + This exists only to name this better in logs. + + """ noisy = False
    [docs] def logPrefix(self): @@ -113,6 +116,7 @@ Each player connecting over telnet (ie using most traditional mud clients) gets a telnet protocol instance assigned to them. All communication between game and player goes through here. + """
    [docs] def __init__(self, *args, **kwargs): @@ -123,6 +127,7 @@ """ Unused by default, but a good place to put debug printouts of incoming data. + """ # print(f"telnet dataReceived: {data}") try: @@ -187,11 +192,15 @@ Client refuses do(linemode). This is common for MUD-specific clients, but we must ask for the sake of raw telnet. We ignore this error. + """ pass def _send_nop_keepalive(self): - """Send NOP keepalive unless flag is set""" + """ + Send NOP keepalive unless flag is set + + """ if self.protocol_flags.get("NOPKEEPALIVE"): self._write(IAC + NOP) @@ -200,7 +209,8 @@ Allow to toggle the NOP keepalive for those sad clients that can't even handle a NOP instruction. This is turned off by the protocol_flag NOPKEEPALIVE (settable e.g. by the default - `@option` command). + `option` command). + """ if self.nop_keep_alive and self.nop_keep_alive.running: self.nop_keep_alive.stop() @@ -214,6 +224,7 @@ When all have reported, a sync with the server is performed. The system will force-call this sync after a small time to handle clients that don't reply to handshakes at all. + """ if timeout: if self.handshakes > 0: @@ -228,6 +239,7 @@
    [docs] def at_login(self): """ Called when this session gets authenticated by the server. + """ pass
    @@ -363,7 +375,10 @@ self.data_in(text=dat + b"\n")
    def _write(self, data): - """hook overloading the one used in plain telnet""" + """ + Hook overloading the one used in plain telnet + + """ data = data.replace(b"\n", b"\r\n").replace(b"\r\r\n", b"\r\n") super()._write(mccp_compress(self, data)) @@ -389,7 +404,7 @@
    [docs] def disconnect(self, reason=""): """ - generic hook for the engine to call in order to + Generic hook for the engine to call in order to disconnect this protocol. Args: @@ -418,6 +433,7 @@ Keyword Args: kwargs (any): Options to the protocol + """ self.sessionhandler.data_out(self, **kwargs)
    @@ -484,7 +500,7 @@ prompt = mxp_parse(prompt) prompt = to_bytes(prompt, self) prompt = prompt.replace(IAC, IAC + IAC).replace(b"\n", b"\r\n") - if not self.protocol_flags.get("NOPROMPTGOAHEAD", + if not self.protocol_flags.get("NOPROMPTGOAHEAD", self.protocol_flags.get("NOGOAHEAD", True)): prompt += IAC + GA self.transport.write(mccp_compress(self, prompt)) @@ -530,6 +546,7 @@
    [docs] def send_default(self, cmdname, *args, **kwargs): """ Send other oob data + """ if not cmdname == "options": self.oob.data_out(cmdname, *args, **kwargs)
    diff --git a/docs/1.0-dev/_modules/evennia/server/portal/telnet_ssl.html b/docs/1.0-dev/_modules/evennia/server/portal/telnet_ssl.html index 0a04c4e461..3c8ac79dc1 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/telnet_ssl.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/telnet_ssl.html @@ -88,32 +88,29 @@ # messages -NO_AUTOGEN = """ -Evennia could not auto-generate the SSL private- and public keys ({{err}}). +NO_AUTOGEN = f""" +Evennia could not auto-generate the SSL private- and public keys ({{err}}). If this error persists, create them manually (using the tools for your OS). The files should be placed and named like this: - {} - {} -""".format( - _PRIVATE_KEY_FILE, _PUBLIC_KEY_FILE -) + {_PRIVATE_KEY_FILE} + {_PUBLIC_KEY_FILE} +""" NO_AUTOCERT = """ Evennia's could not auto-generate the SSL certificate ({{err}}). The private key already exists here: - {} + {_PRIVATE_KEY_FILE} If this error persists, create the certificate manually (using the private key and the tools for your OS). The file should be placed and named like this: - {} -""".format( - _PRIVATE_KEY_FILE, _CERTIFICATE_FILE -) + {_CERTIFICATE_FILE} +"""
    [docs]class SSLProtocol(TelnetProtocol): """ Communication is the same as telnet, except data transfer is done with encryption set up by the portal at start time. + """
    [docs] def __init__(self, *args, **kwargs): diff --git a/docs/1.0-dev/_modules/evennia/server/portal/webclient.html b/docs/1.0-dev/_modules/evennia/server/portal/webclient.html index 3ee2cf6bb2..9a3936177d 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/webclient.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/webclient.html @@ -86,6 +86,7 @@
    [docs]class WebSocketClient(WebSocketServerProtocol, _BASE_SESSION_CLASS): """ Implements the server-side of the Websocket connection. + """ # nonce value, used to prevent the webclient from erasing the @@ -197,7 +198,7 @@ # in case anyone wants to expose this functionality later. # # sendClose() under autobahn/websocket/interfaces.py - ret = self.sendClose(CLOSE_NORMAL, reason)
    + self.sendClose(CLOSE_NORMAL, reason)
    [docs] def onClose(self, wasClean, code=None, reason=None): """ diff --git a/docs/1.0-dev/_modules/evennia/server/portal/webclient_ajax.html b/docs/1.0-dev/_modules/evennia/server/portal/webclient_ajax.html index 286947554b..898013f913 100644 --- a/docs/1.0-dev/_modules/evennia/server/portal/webclient_ajax.html +++ b/docs/1.0-dev/_modules/evennia/server/portal/webclient_ajax.html @@ -57,6 +57,7 @@ The WebClient resource in this module will handle these requests and act as a gateway to sessions connected over the webclient. + """ import json import re @@ -69,7 +70,7 @@ from django.conf import settings from evennia.utils.ansi import parse_ansi from evennia.utils import utils -from evennia.utils.utils import to_bytes, to_str +from evennia.utils.utils import to_bytes from evennia.utils.text2html import parse_html from evennia.server import session @@ -265,10 +266,13 @@ return jsonify({"msg": host_string, "csessid": csessid})
    [docs] def mode_keepalive(self, request): - """ This is called by render_POST when the client is replying to the keepalive. + + Args: + request (Request): Incoming request. + """ csessid = self.get_client_sessid(request) self.last_alive[csessid] = (time.time(), False) diff --git a/docs/1.0-dev/_modules/evennia/server/server.html b/docs/1.0-dev/_modules/evennia/server/server.html index 35be8093f7..e0f43d4ead 100644 --- a/docs/1.0-dev/_modules/evennia/server/server.html +++ b/docs/1.0-dev/_modules/evennia/server/server.html @@ -216,6 +216,7 @@ The main Evennia server handler. This object sets up the database and tracks and interlinks all the twisted network services that make up evennia. + """
    [docs] def __init__(self, application): @@ -285,6 +286,7 @@ This allows for changing default cmdset locations and default typeclasses in the settings file and have them auto-update all already existing objects. + """ global INFO_DICT @@ -513,7 +515,10 @@ ServerConfig.objects.conf("runtime", _GAMETIME_MODULE.runtime())
    [docs] def get_info_dict(self): - "Return the server info, for display." + """ + Return the server info, for display. + + """ return INFO_DICT
    # server start/stop hooks @@ -522,6 +527,7 @@ """ This is called every time the server starts up, regardless of how it was shut down. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_start()
    @@ -530,6 +536,7 @@ """ This is called just before a server is shut down, regardless of it is fore a reload, reset or shutdown. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_stop()
    @@ -537,6 +544,7 @@
    [docs] def at_server_reload_start(self): """ This is called only when server starts back up after a reload. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_reload_start()
    @@ -547,7 +555,7 @@ after reconnecting. Args: - mode (str): One of reload, reset or shutdown. + mode (str): One of 'reload', 'reset' or 'shutdown'. """ @@ -597,6 +605,7 @@
    [docs] def at_server_reload_stop(self): """ This is called only time the server stops before a reload. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_reload_stop()
    @@ -605,6 +614,7 @@ """ This is called only when the server starts "cold", i.e. after a shutdown or a reset. + """ # We need to do this just in case the server was killed in a way where # the normal cleanup operations did not have time to run. @@ -632,6 +642,7 @@
    [docs] def at_server_cold_stop(self): """ This is called only when the server goes down due to a shutdown or reset. + """ if SERVER_STARTSTOP_MODULE: SERVER_STARTSTOP_MODULE.at_server_cold_stop()
    diff --git a/docs/1.0-dev/_modules/evennia/server/serversession.html b/docs/1.0-dev/_modules/evennia/server/serversession.html index 2d657da98b..a141d9934f 100644 --- a/docs/1.0-dev/_modules/evennia/server/serversession.html +++ b/docs/1.0-dev/_modules/evennia/server/serversession.html @@ -55,7 +55,6 @@ from evennia.utils import logger from evennia.utils.utils import make_iter, lazy_property, class_from_module from evennia.commands.cmdsethandler import CmdSetHandler -from evennia.server.session import Session from evennia.scripts.monitorhandler import MONITOR_HANDLER from evennia.typeclasses.attributes import AttributeHandler, InMemoryAttributeBackend, DbHolder @@ -64,9 +63,6 @@ _ObjectDB = None _ANSI = None -# i18n -from django.utils.translation import gettext as _ - _BASE_SESSION_CLASS = class_from_module(settings.BASE_SESSION_CLASS) @@ -87,7 +83,10 @@ """
    [docs] def __init__(self): - """Initiate to avoid AttributeErrors down the line""" + """ + Initiate to avoid AttributeErrors down the line + + """ self.puppet = None self.account = None self.cmdset_storage_string = "" @@ -363,7 +362,10 @@ self.sessionhandler.data_in(session or self, **kwargs)
    def __eq__(self, other): - """Handle session comparisons""" + """ + Handle session comparisons + + """ try: return self.address == other.address except AttributeError: @@ -410,6 +412,7 @@
    [docs] def at_cmdset_get(self, **kwargs): """ A dummy hook all objects with cmdsets need to have + """ pass
    @@ -456,7 +459,10 @@ # @ndb.deleter
    [docs] def ndb_del(self): - """Stop accidental deletion.""" + """ + Stop accidental deletion. + + """ raise Exception("Cannot delete the ndb object!")
    ndb = property(ndb_get, ndb_set, ndb_del) @@ -465,7 +471,10 @@ # Mock access method for the session (there is no lock info # at this stage, so we just present a uniform API)
    [docs] def access(self, *args, **kwargs): - """Dummy method to mimic the logged-in API.""" + """ + Dummy method to mimic the logged-in API. + + """ return True
    diff --git a/docs/1.0-dev/_modules/evennia/server/sessionhandler.html b/docs/1.0-dev/_modules/evennia/server/sessionhandler.html index dccc6fb904..ea8c98fd26 100644 --- a/docs/1.0-dev/_modules/evennia/server/sessionhandler.html +++ b/docs/1.0-dev/_modules/evennia/server/sessionhandler.html @@ -60,7 +60,6 @@ from evennia.commands.cmdhandler import CMD_LOGINSTART from evennia.utils.logger import log_trace from evennia.utils.utils import ( - variable_from_module, class_from_module, is_iter, make_iter, delay, @@ -71,6 +70,7 @@ from evennia.server.signals import SIGNAL_ACCOUNT_POST_LOGIN, SIGNAL_ACCOUNT_POST_LOGOUT from evennia.server.signals import SIGNAL_ACCOUNT_POST_FIRST_LOGIN, SIGNAL_ACCOUNT_POST_LAST_LOGOUT from codecs import decode as codecs_decode +from django.utils.translation import gettext as _ _FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED = settings.FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED @@ -81,7 +81,7 @@ _ScriptDB = None _OOB_HANDLER = None -_ERR_BAD_UTF8 = "Your client sent an incorrect UTF-8 sequence." +_ERR_BAD_UTF8 = _("Your client sent an incorrect UTF-8 sequence.")
    [docs]class DummySession(object): @@ -90,9 +90,6 @@ DUMMYSESSION = DummySession() -# i18n -from django.utils.translation import gettext as _ - _SERVERNAME = settings.SERVERNAME _MULTISESSION_MODE = settings.MULTISESSION_MODE _IDLE_TIMEOUT = settings.IDLE_TIMEOUT @@ -103,7 +100,6 @@ _FUNCPARSER = None - # input handlers _INPUT_FUNCS = {} @@ -145,24 +141,36 @@ """ def __getitem__(self, key): - "Clean out None-sessions automatically." + """ + Clean out None-sessions automatically. + + """ if None in self: del self[None] return super().__getitem__(key)
    [docs] def get(self, key, default=None): - "Clean out None-sessions automatically." + """ + Clean out None-sessions automatically. + + """ if None in self: del self[None] return super().get(key, default)
    def __setitem__(self, key, value): - "Don't assign None sessions" + """ + Don't assign None sessions" + + """ if key is not None: super().__setitem__(key, value) def __contains__(self, key): - "None-keys are not accepted." + """ + None-keys are not accepted. + + """ return False if key is None else super().__contains__(key)
    [docs] def get_sessions(self, include_unloggedin=False): @@ -200,9 +208,8 @@ Args: session (Session): The relevant session instance. - kwargs (dict) Each keyword represents a send-instruction, with the keyword itself being the name - of the instruction (like "text"). Suitable values for each - keyword are: + kwargs (dict) Each keyword represents a send-instruction, with the keyword itself being + the name of the instruction (like "text"). Suitable values for each keyword are: - arg -> [[arg], {}] - [args] -> [[args], {}] - {kwargs} -> [[], {kwargs}] @@ -219,7 +226,8 @@ global _FUNCPARSER if not _FUNCPARSER: from evennia.utils.funcparser import FuncParser - _FUNCPARSER = FuncParser(settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES, raise_errors=True) + _FUNCPARSER = FuncParser(settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES, + raise_errors=True) options = kwargs.pop("options", None) or {} raw = options.get("raw", False) @@ -241,7 +249,10 @@ return data def _validate(data): - "Helper function to convert data to AMP-safe (picketable) values" + """ + Helper function to convert data to AMP-safe (picketable) values" + + """ if isinstance(data, dict): newdict = {} for key, part in data.items(): @@ -252,7 +263,8 @@ elif isinstance(data, (str, bytes)): data = _utf8(data) - if _FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED and not raw and isinstance(self, ServerSessionHandler): + if (_FUNCPARSER_PARSE_OUTGOING_MESSAGES_ENABLED + and not raw and isinstance(self, ServerSessionHandler)): # only apply funcparser on the outgoing path (sessionhandler->) # data = parse_inlinefunc(data, strip=strip_inlinefunc, session=session) data = _FUNCPARSER.parse(data, strip=strip_inlinefunc, session=session) @@ -303,14 +315,11 @@
    [docs]class ServerSessionHandler(SessionHandler): """ - This object holds the stack of sessions active in the game at - any time. + This object holds the stack of sessions active in the game at any time. - A session register with the handler in two steps, first by - registering itself with the connect() method. This indicates an - non-authenticated session. Whenever the session is authenticated - the session together with the related account is sent to the login() - method. + A session register with the handler in two steps, first by registering itself with the connect() + method. This indicates an non-authenticated session. Whenever the session is authenticated the + session together with the related account is sent to the login() method. """ @@ -510,9 +519,8 @@
    [docs] def login(self, session, account, force=False, testmode=False): """ - Log in the previously unloggedin session and the account we by - now should know is connected to it. After this point we assume - the session to be logged in one way or another. + Log in the previously unloggedin session and the account we by now should know is connected + to it. After this point we assume the session to be logged in one way or another. Args: session (Session): The Session to authenticate. @@ -669,7 +677,8 @@ # mean connecting from the same host would not catch duplicates sid = id(curr_session) doublet_sessions = [ - sess for sess in self.values() if sess.logged_in and sess.uid == uid and id(sess) != sid + sess for sess in self.values() + if sess.logged_in and sess.uid == uid and id(sess) != sid ] for session in doublet_sessions: @@ -779,8 +788,8 @@ puppet (Object): Object puppeted Returns. - sessions (Session or list): Can be more than one of Object is controlled by - more than one Session (MULTISESSION_MODE > 1). + sessions (Session or list): Can be more than one of Object is controlled by more than + one Session (MULTISESSION_MODE > 1). """ sessions = puppet.sessid.get() diff --git a/docs/1.0-dev/_modules/evennia/server/throttle.html b/docs/1.0-dev/_modules/evennia/server/throttle.html index ac862850d5..d479b22b54 100644 --- a/docs/1.0-dev/_modules/evennia/server/throttle.html +++ b/docs/1.0-dev/_modules/evennia/server/throttle.html @@ -44,9 +44,10 @@ from collections import deque from evennia.utils import logger import time +from django.utils.translation import gettext as _ -
    [docs]class Throttle(object): +
    [docs]class Throttle: """ Keeps a running count of failed actions per IP address. @@ -55,11 +56,11 @@ This version of the throttle is usable by both the terminal server as well as the web server, imposes limits on memory consumption by using deques - with length limits instead of open-ended lists, and uses native Django + with length limits instead of open-ended lists, and uses native Django caches for automatic key eviction and persistence configurability. """ - error_msg = "Too many failed attempts; you must wait a few minutes before trying again." + error_msg = _("Too many failed attempts; you must wait a few minutes before trying again.")
    [docs] def __init__(self, **kwargs): """ @@ -76,31 +77,31 @@ """ try: self.storage = caches['throttle'] - except Exception as e: + except Exception: logger.log_trace("Throttle: Errors encountered; using default cache.") self.storage = caches['default'] - + self.name = kwargs.get('name', 'undefined-throttle') self.limit = kwargs.get("limit", 5) self.cache_size = kwargs.get('cache_size', self.limit) self.timeout = kwargs.get("timeout", 5 * 60)
    - +
    [docs] def get_cache_key(self, *args, **kwargs): """ Creates a 'prefixed' key containing arbitrary terms to prevent key collisions in the same namespace. - + """ return '-'.join((self.name, *args))
    - +
    [docs] def touch(self, key, *args, **kwargs): """ Refreshes the timeout on a given key and ensures it is recorded in the key register. - + Args: key(str): Key of entry to renew. - + """ cache_key = self.get_cache_key(key) if self.storage.touch(cache_key, self.timeout): @@ -128,11 +129,11 @@ keys_key = self.get_cache_key('keys') keys = self.storage.get_or_set(keys_key, set(), self.timeout) data = self.storage.get_many((self.get_cache_key(x) for x in keys)) - + found_keys = set(data.keys()) if len(keys) != len(found_keys): self.storage.set(keys_key, found_keys, self.timeout) - + return data
    [docs] def update(self, ip, failmsg="Exceeded threshold."): @@ -149,14 +150,14 @@ """ cache_key = self.get_cache_key(ip) - + # Get current status previously_throttled = self.check(ip) # Get previous failures, if any entries = self.storage.get(cache_key, []) entries.append(time.time()) - + # Store updated record self.storage.set(cache_key, deque(entries, maxlen=self.cache_size), self.timeout) @@ -165,55 +166,59 @@ # If this makes it engage, log a single activation event if not previously_throttled and currently_throttled: - logger.log_sec(f"Throttle Activated: {failmsg} (IP: {ip}, {self.limit} hits in {self.timeout} seconds.)") - + logger.log_sec( + f"Throttle Activated: {failmsg} (IP: {ip}, " + f"{self.limit} hits in {self.timeout} seconds.)" + ) + self.record_ip(ip)
    - +
    [docs] def remove(self, ip, *args, **kwargs): """ Clears data stored for an IP from the throttle. - + Args: ip(str): IP to clear. - + """ exists = self.get(ip) - if not exists: return False - + if not exists: + return False + cache_key = self.get_cache_key(ip) self.storage.delete(cache_key) self.unrecord_ip(ip) - + # Return True if NOT exists - return ~bool(self.get(ip))
    - + return not bool(self.get(ip))
    +
    [docs] def record_ip(self, ip, *args, **kwargs): """ - Tracks keys as they are added to the cache (since there is no way to + Tracks keys as they are added to the cache (since there is no way to get a list of keys after-the-fact). - + Args: ip(str): IP being added to cache. This should be the original IP, not the cache-prefixed key. - + """ keys_key = self.get_cache_key('keys') keys = self.storage.get(keys_key, set()) keys.add(ip) self.storage.set(keys_key, keys, self.timeout) return True
    - +
    [docs] def unrecord_ip(self, ip, *args, **kwargs): """ Forces removal of a key from the key registry. - + Args: ip(str): IP to remove from list of keys. - + """ keys_key = self.get_cache_key('keys') keys = self.storage.get(keys_key, set()) - try: + try: keys.remove(ip) self.storage.set(keys_key, keys, self.timeout) return True @@ -236,7 +241,7 @@ """ now = time.time() ip = str(ip) - + cache_key = self.get_cache_key(ip) # checking mode diff --git a/docs/1.0-dev/_modules/evennia/server/validators.html b/docs/1.0-dev/_modules/evennia/server/validators.html index 02875ff751..74338fbf35 100644 --- a/docs/1.0-dev/_modules/evennia/server/validators.html +++ b/docs/1.0-dev/_modules/evennia/server/validators.html @@ -127,8 +127,8 @@ """ return _( - "%s From a terminal client, you can also use a phrase of multiple words if " - "you enclose the password in double quotes." % self.policy + "{policy} From a terminal client, you can also use a phrase of multiple words if " + "you enclose the password in double quotes.".format(policy=self.policy) )
    diff --git a/docs/1.0-dev/_modules/evennia/typeclasses/admin.html b/docs/1.0-dev/_modules/evennia/typeclasses/admin.html deleted file mode 100644 index 6226c50b60..0000000000 --- a/docs/1.0-dev/_modules/evennia/typeclasses/admin.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - - evennia.typeclasses.admin — Evennia 1.0-dev documentation - - - - - - - - - - - - - -
    -
    -
    -
    - -

    Source code for evennia.typeclasses.admin

    -import traceback
    -from datetime import datetime
    -from django.contrib import admin
    -from evennia.typeclasses.models import Tag
    -from django import forms
    -from evennia.utils.picklefield import PickledFormField
    -from evennia.utils.dbserialize import from_pickle, _SaverSet
    -
    -
    -
    [docs]class TagAdmin(admin.ModelAdmin): - """ - A django Admin wrapper for Tags. - """ - - search_fields = ("db_key", "db_category", "db_tagtype") - list_display = ("db_key", "db_category", "db_tagtype", "db_data") - fields = ("db_key", "db_category", "db_tagtype", "db_data") - list_filter = ("db_tagtype",)
    - - -
    [docs]class TagForm(forms.ModelForm): - """ - This form overrides the base behavior of the ModelForm that would be used for a - Tag-through-model. Since the through-models only have access to the foreignkeys of the Tag and - the Object that they're attached to, we need to spoof the behavior of it being a form that would - correspond to its tag, or the creation of a tag. Instead of being saved, we'll call to the - Object's handler, which will handle the creation, change, or deletion of a tag for us, as well - as updating the handler's cache so that all changes are instantly updated in-game. - """ - - tag_key = forms.CharField( - label="Tag Name", required=True, help_text="This is the main key identifier" - ) - tag_category = forms.CharField( - label="Category", - help_text="Used for grouping tags. Unset (default) gives a category of None", - required=False, - ) - tag_type = forms.CharField( - label="Type", - help_text='Internal use. Either unset, "alias" or "permission"', - required=False, - ) - tag_data = forms.CharField( - label="Data", - help_text="Usually unused. Intended for eventual info about the tag itself", - required=False, - ) - -
    [docs] class Meta: - fields = ("tag_key", "tag_category", "tag_data", "tag_type")
    - -
    [docs] def __init__(self, *args, **kwargs): - """ - If we have a tag, then we'll prepopulate our instance with the fields we'd expect it - to have based on the tag. tag_key, tag_category, tag_type, and tag_data all refer to - the corresponding tag fields. The initial data of the form fields will similarly be - populated. - """ - super().__init__(*args, **kwargs) - tagkey = None - tagcategory = None - tagtype = None - tagdata = None - if hasattr(self.instance, "tag"): - tagkey = self.instance.tag.db_key - tagcategory = self.instance.tag.db_category - tagtype = self.instance.tag.db_tagtype - tagdata = self.instance.tag.db_data - self.fields["tag_key"].initial = tagkey - self.fields["tag_category"].initial = tagcategory - self.fields["tag_type"].initial = tagtype - self.fields["tag_data"].initial = tagdata - self.instance.tag_key = tagkey - self.instance.tag_category = tagcategory - self.instance.tag_type = tagtype - self.instance.tag_data = tagdata
    - -
    [docs] def save(self, commit=True): - """ - One thing we want to do here is the or None checks, because forms are saved with an empty - string rather than null from forms, usually, and the Handlers may handle empty strings - differently than None objects. So for consistency with how things are handled in game, - we'll try to make sure that empty form fields will be None, rather than ''. - """ - # we are spoofing a tag for the Handler that will be called - # instance = super().save(commit=False) - instance = self.instance - instance.tag_key = self.cleaned_data["tag_key"] - instance.tag_category = self.cleaned_data["tag_category"] or None - instance.tag_type = self.cleaned_data["tag_type"] or None - instance.tag_data = self.cleaned_data["tag_data"] or None - return instance
    - - -
    [docs]class TagFormSet(forms.BaseInlineFormSet): - """ - The Formset handles all the inline forms that are grouped together on the change page of the - corresponding object. All the tags will appear here, and we'll save them by overriding the - formset's save method. The forms will similarly spoof their save methods to return an instance - which hasn't been saved to the database, but have the relevant fields filled out based on the - contents of the cleaned form. We'll then use that to call to the handler of the corresponding - Object, where the handler is an AliasHandler, PermissionsHandler, or TagHandler, based on the - type of tag. - """ - -
    [docs] def save(self, commit=True): - def get_handler(finished_object): - related = getattr(finished_object, self.related_field) - try: - tagtype = finished_object.tag_type - except AttributeError: - tagtype = finished_object.tag.db_tagtype - if tagtype == "alias": - handler_name = "aliases" - elif tagtype == "permission": - handler_name = "permissions" - else: - handler_name = "tags" - return getattr(related, handler_name) - - instances = super().save(commit=False) - # self.deleted_objects is a list created when super of save is called, we'll remove those - for obj in self.deleted_objects: - handler = get_handler(obj) - handler.remove(obj.tag_key, category=obj.tag_category) - for instance in instances: - handler = get_handler(instance) - handler.add(instance.tag_key, category=instance.tag_category, data=instance.tag_data)
    - - -
    [docs]class TagInline(admin.TabularInline): - """ - A handler for inline Tags. This class should be subclassed in the admin of your models, - and the 'model' and 'related_field' class attributes must be set. model should be the - through model (ObjectDB_db_tag', for example), while related field should be the name - of the field on that through model which points to the model being used: 'objectdb', - 'msg', 'accountdb', etc. - """ - - # Set this to the through model of your desired M2M when subclassing. - model = None - form = TagForm - formset = TagFormSet - related_field = None # Must be 'objectdb', 'accountdb', 'msg', etc. Set when subclassing - # raw_id_fields = ('tag',) - # readonly_fields = ('tag',) - extra = 0 - -
    [docs] def get_formset(self, request, obj=None, **kwargs): - """ - get_formset has to return a class, but we need to make the class that we return - know about the related_field that we'll use. Returning the class itself rather than - a proxy isn't threadsafe, since it'd be the base class and would change if multiple - people used the admin at the same time - """ - formset = super().get_formset(request, obj, **kwargs) - - class ProxyFormset(formset): - pass - - ProxyFormset.related_field = self.related_field - return ProxyFormset
    - - -
    [docs]class AttributeForm(forms.ModelForm): - """ - This form overrides the base behavior of the ModelForm that would be used for a Attribute-through-model. - Since the through-models only have access to the foreignkeys of the Attribute and the Object that they're - attached to, we need to spoof the behavior of it being a form that would correspond to its Attribute, - or the creation of an Attribute. Instead of being saved, we'll call to the Object's handler, which will handle - the creation, change, or deletion of an Attribute for us, as well as updating the handler's cache so that all - changes are instantly updated in-game. - """ - - attr_key = forms.CharField( - label="Attribute Name", required=False, initial="Enter Attribute Name Here" - ) - attr_category = forms.CharField( - label="Category", help_text="type of attribute, for sorting", required=False, max_length=128 - ) - attr_value = PickledFormField(label="Value", help_text="Value to pickle/save", required=False) - attr_type = forms.CharField( - label="Type", - help_text='Internal use. Either unset (normal Attribute) or "nick"', - required=False, - max_length=16, - ) - attr_lockstring = forms.CharField( - label="Locks", - required=False, - help_text="Lock string on the form locktype:lockdef;lockfunc:lockdef;...", - widget=forms.Textarea(attrs={"rows": 1, "cols": 8}), - ) - -
    [docs] class Meta: - fields = ("attr_key", "attr_value", "attr_category", "attr_lockstring", "attr_type")
    - -
    [docs] def __init__(self, *args, **kwargs): - """ - If we have an Attribute, then we'll prepopulate our instance with the fields we'd expect it - to have based on the Attribute. attr_key, attr_category, attr_value, attr_type, - and attr_lockstring all refer to the corresponding Attribute fields. The initial data of the form fields will - similarly be populated. - - """ - super().__init__(*args, **kwargs) - attr_key = None - attr_category = None - attr_value = None - attr_type = None - attr_lockstring = None - if hasattr(self.instance, "attribute"): - attr_key = self.instance.attribute.db_key - attr_category = self.instance.attribute.db_category - attr_value = self.instance.attribute.db_value - attr_type = self.instance.attribute.db_attrtype - attr_lockstring = self.instance.attribute.db_lock_storage - self.fields["attr_key"].initial = attr_key - self.fields["attr_category"].initial = attr_category - self.fields["attr_type"].initial = attr_type - self.fields["attr_value"].initial = attr_value - self.fields["attr_lockstring"].initial = attr_lockstring - self.instance.attr_key = attr_key - self.instance.attr_category = attr_category - self.instance.attr_value = attr_value - - # prevent from being transformed to str - if isinstance(attr_value, (set, _SaverSet)): - self.fields["attr_value"].disabled = True - - self.instance.deserialized_value = from_pickle(attr_value) - self.instance.attr_type = attr_type - self.instance.attr_lockstring = attr_lockstring
    - -
    [docs] def save(self, commit=True): - """ - One thing we want to do here is the or None checks, because forms are saved with an empty - string rather than null from forms, usually, and the Handlers may handle empty strings - differently than None objects. So for consistency with how things are handled in game, - we'll try to make sure that empty form fields will be None, rather than ''. - """ - # we are spoofing an Attribute for the Handler that will be called - instance = self.instance - instance.attr_key = self.cleaned_data["attr_key"] or "no_name_entered_for_attribute" - instance.attr_category = self.cleaned_data["attr_category"] or None - instance.attr_value = self.cleaned_data["attr_value"] - # convert the serialized string value into an object, if necessary, for AttributeHandler - instance.attr_value = from_pickle(instance.attr_value) - instance.attr_type = self.cleaned_data["attr_type"] or None - instance.attr_lockstring = self.cleaned_data["attr_lockstring"] - return instance
    - -
    [docs] def clean_attr_value(self): - """ - Prevent certain data-types from being cleaned due to literal_eval - failing on them. Otherwise they will be turned into str. - - """ - data = self.cleaned_data["attr_value"] - initial = self.instance.attr_value - if isinstance(initial, (set, _SaverSet, datetime)): - return initial - return data
    - - -
    [docs]class AttributeFormSet(forms.BaseInlineFormSet): - """ - Attribute version of TagFormSet, as above. - """ - -
    [docs] def save(self, commit=True): - def get_handler(finished_object): - related = getattr(finished_object, self.related_field) - try: - attrtype = finished_object.attr_type - except AttributeError: - attrtype = finished_object.attribute.db_attrtype - if attrtype == "nick": - handler_name = "nicks" - else: - handler_name = "attributes" - return getattr(related, handler_name) - - instances = super().save(commit=False) - for obj in self.deleted_objects: - # self.deleted_objects is a list created when super of save is called, we'll remove those - handler = get_handler(obj) - handler.remove(obj.attr_key, category=obj.attr_category) - - for instance in instances: - handler = get_handler(instance) - - value = instance.attr_value - - try: - handler.add( - instance.attr_key, - value, - category=instance.attr_category, - strattr=False, - lockstring=instance.attr_lockstring, - ) - except (TypeError, ValueError): - # catch errors in nick templates and continue - traceback.print_exc() - continue
    - - -
    [docs]class AttributeInline(admin.TabularInline): - """ - A handler for inline Attributes. This class should be subclassed in the admin of your models, - and the 'model' and 'related_field' class attributes must be set. model should be the - through model (ObjectDB_db_tag', for example), while related field should be the name - of the field on that through model which points to the model being used: 'objectdb', - 'msg', 'accountdb', etc. - """ - - # Set this to the through model of your desired M2M when subclassing. - model = None - form = AttributeForm - formset = AttributeFormSet - related_field = None # Must be 'objectdb', 'accountdb', 'msg', etc. Set when subclassing - # raw_id_fields = ('attribute',) - # readonly_fields = ('attribute',) - extra = 0 - -
    [docs] def get_formset(self, request, obj=None, **kwargs): - """ - get_formset has to return a class, but we need to make the class that we return - know about the related_field that we'll use. Returning the class itself rather than - a proxy isn't threadsafe, since it'd be the base class and would change if multiple - people used the admin at the same time - """ - formset = super().get_formset(request, obj, **kwargs) - - class ProxyFormset(formset): - pass - - ProxyFormset.related_field = self.related_field - return ProxyFormset
    - - -admin.site.register(Tag, TagAdmin) -
    - -
    -
    -
    -
    - -
    -
    - - - - \ No newline at end of file diff --git a/docs/1.0-dev/_modules/evennia/typeclasses/attributes.html b/docs/1.0-dev/_modules/evennia/typeclasses/attributes.html index 61d035e165..a1d76f06cd 100644 --- a/docs/1.0-dev/_modules/evennia/typeclasses/attributes.html +++ b/docs/1.0-dev/_modules/evennia/typeclasses/attributes.html @@ -52,7 +52,6 @@ """ import re import fnmatch -import weakref from collections import defaultdict @@ -159,6 +158,7 @@
    [docs]class InMemoryAttribute(IAttribute): """ This Attribute is used purely for NAttributes/NAttributeHandler. It has no database backend. + """ # Primary Key has no meaning for an InMemoryAttribute. This merely serves to satisfy other code. @@ -168,11 +168,12 @@ Create an Attribute that exists only in Memory. Args: - pk (int): This is a fake 'primary key' / id-field. It doesn't actually have to be unique, but is fed an - incrementing number from the InMemoryBackend by default. This is needed only so Attributes can be - sorted. Some parts of the API also see the lack of a .pk field as a sign that the Attribute was - deleted. + pk (int): This is a fake 'primary key' / id-field. It doesn't actually have to be + unique, but is fed an incrementing number from the InMemoryBackend by default. This + is needed only so Attributes can be sorted. Some parts of the API also see the lack + of a .pk field as a sign that the Attribute was deleted. **kwargs: Other keyword arguments are used to construct the actual Attribute. + """ self.id = pk self.pk = pk @@ -203,6 +204,7 @@
    [docs]class Attribute(IAttribute, SharedMemoryModel): """ This attribute is stored via Django. Most Attributes will be using this class. + """ # @@ -261,7 +263,7 @@ class Meta(object): "Define Django meta options" - verbose_name = "Evennia Attribute" + verbose_name = "Attribute" # Wrapper properties to easily set database fields. These are # @property decorators that allows to access these fields using @@ -286,8 +288,8 @@ lock_storage = property(__lock_storage_get, __lock_storage_set, __lock_storage_del) # value property (wraps db_value) - # @property - def __value_get(self): + @property + def value(self): """ Getter. Allows for `value = self.value`. We cannot cache here since it makes certain cases (such @@ -296,8 +298,8 @@ """ return from_pickle(self.db_value, db_obj=self) - # @value.setter - def __value_set(self, new_value): + @value.setter + def value(self, new_value): """ Setter. Allows for self.value = value. We cannot cache here, see self.__value_get. @@ -305,13 +307,10 @@ self.db_value = to_pickle(new_value) self.save(update_fields=["db_value"]) - # @value.deleter - def __value_del(self): + @value.deleter + def value(self): """Deleter. Allows for del attr.value. This removes the entire attribute.""" - self.delete() - - value = property(__value_get, __value_set, __value_del)
    - + self.delete()
    # # Handlers making use of the Attribute model @@ -389,7 +388,7 @@ def _get_cache_key(self, key, category): """ - + Fetch cache key. Args: key (str): The key of the Attribute being searched for. @@ -570,7 +569,8 @@
    [docs] def create_attribute(self, key, category, lockstring, value, strvalue=False, cache=True): """ - Creates Attribute (using the class specified for the backend), (optionally) caches it, and returns it. + Creates Attribute (using the class specified for the backend), (optionally) caches it, and + returns it. This MUST actively save the Attribute to whatever database backend is used, AND call self.set_cache(key, category, new_attrobj) @@ -755,7 +755,8 @@ ] ) else: - # have to cast the results to a list or we'll get a RuntimeError for removing from the dict we're iterating + # have to cast the results to a list or we'll get a RuntimeError for removing from the + # dict we're iterating self.do_batch_delete(list(attrs)) self.reset_cache()
    @@ -776,10 +777,10 @@
    [docs]class InMemoryAttributeBackend(IAttributeBackend): """ - This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and normally lost - on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes it manages, but these are - of little importance beyond sorting and satisfying the caching logic to know an Attribute hasn't been - deleted out from under the cache's nose. + This Backend for Attributes stores NOTHING in the database. Everything is kept in memory, and + normally lost on a crash, reload, shared memory flush, etc. It generates IDs for the Attributes + it manages, but these are of little importance beyond sorting and satisfying the caching logic + to know an Attribute hasn't been deleted out from under the cache's nose. """ @@ -851,7 +852,8 @@
    [docs] def do_delete_attribute(self, attr): """ - Removes the Attribute from local storage. Once it's out of the cache, garbage collection will handle the rest. + Removes the Attribute from local storage. Once it's out of the cache, garbage collection + will handle the rest. Args: attr (IAttribute): The attribute to delete. @@ -970,8 +972,9 @@ Setup the AttributeHandler. Args: - obj (TypedObject): An Account, Object, Channel, ServerSession (not technically a typed object), etc. - backend_class (IAttributeBackend class): The class of the backend to use. + obj (TypedObject): An Account, Object, Channel, ServerSession (not technically a typed + object), etc. backend_class (IAttributeBackend class): The class of the backend to + use. """ self.obj = obj self.backend = backend_class(self, self._attrtype)
    @@ -1304,6 +1307,7 @@ all = property(get_all)
    +# # Nick templating # @@ -1323,7 +1327,7 @@ This will be converted to the following regex: -\@desc (?P<1>\w+) (?P<2>\w+) $(?P<3>\w+) + \@desc (?P<1>\w+) (?P<2>\w+) $(?P<3>\w+) Supported template markers (through fnmatch) * matches anything (non-greedy) -> .*? @@ -1386,7 +1390,7 @@ # groups. we need to split out any | - separated parts so we can # attach the line-break/ending extras all regexes require. pattern_regex_string = r"|".join( - or_part + r"(?:[\n\r]*?)\Z" + or_part + r"(?:[\n\r]*?)\Z" for or_part in _RE_OR.split(pattern)) else: diff --git a/docs/1.0-dev/_modules/evennia/typeclasses/managers.html b/docs/1.0-dev/_modules/evennia/typeclasses/managers.html index f00e83bfbc..06d5328b47 100644 --- a/docs/1.0-dev/_modules/evennia/typeclasses/managers.html +++ b/docs/1.0-dev/_modules/evennia/typeclasses/managers.html @@ -637,13 +637,21 @@ Search by supplying a string with optional extra search criteria to aid the query. Args: - query (str): A search criteria that accepts extra search criteria on the + query (str): A search criteria that accepts extra search criteria on the following + forms: + + [key|alias|#dbref...] + [tag==<tagstr>[:category]...] + [attr==<key>:<value>:category...] + + All three can be combined in the same query, separated by spaces. - following forms: [key|alias|#dbref...] [tag==<tagstr>[:category]...] [attr==<key>:<value>:category...] - " != " != " Returns: - matches (queryset): A queryset result matching all queries exactly. If wanting to use spaces or - ==, != in tags or attributes, enclose them in quotes. + matches (queryset): A queryset result matching all queries exactly. If wanting to use + spaces or ==, != in tags or attributes, enclose them in quotes. + + Example: + house = smart_search("key=foo alias=bar tag=house:building tag=magic attr=color:red") Note: The flexibility of this method is limited by the input line format. Tag/attribute diff --git a/docs/1.0-dev/_modules/evennia/typeclasses/models.html b/docs/1.0-dev/_modules/evennia/typeclasses/models.html index 026d7dfb1c..7f589b1357 100644 --- a/docs/1.0-dev/_modules/evennia/typeclasses/models.html +++ b/docs/1.0-dev/_modules/evennia/typeclasses/models.html @@ -111,6 +111,7 @@ def call_at_first_save(sender, instance, created, **kwargs): """ Receives a signal just after the object is saved. + """ if created: instance.at_first_save() @@ -119,6 +120,7 @@ def remove_attributes_on_delete(sender, instance, **kwargs): """ Wipe object's Attributes when it's deleted + """ instance.db_attributes.all().delete() @@ -140,6 +142,7 @@ Metaclass which should be set for the root of model proxies that don't define any new fields, like Object, Script etc. This is the basis for the typeclassing system. + """ def __new__(cls, name, bases, attrs): @@ -221,15 +224,16 @@ mechanics for managing connected attributes. The TypedObject has the following properties: - key - main name - name - alias for key - typeclass_path - the path to the decorating typeclass - typeclass - auto-linked typeclass - date_created - time stamp of object creation - permissions - perm strings - dbref - #id of object - db - persistent attribute storage - ndb - non-persistent attribute storage + + - key - main name + - name - alias for key + - typeclass_path - the path to the decorating typeclass + - typeclass - auto-linked typeclass + - date_created - time stamp of object creation + - permissions - perm strings + - dbref - #id of object + - db - persistent attribute storage + - ndb - non-persistent attribute storage """ @@ -250,7 +254,8 @@ "typeclass", max_length=255, null=True, - help_text="this defines what 'type' of entity this is. This variable holds a Python path to a module with a valid Evennia Typeclass.", + help_text="this defines what 'type' of entity this is. This variable holds " + "a Python path to a module with a valid Evennia Typeclass.", db_index=True, ) # Creation date. This is not changed once the object is created. @@ -259,16 +264,20 @@ db_lock_storage = models.TextField( "locks", blank=True, - help_text="locks limit access to an entity. A lock is defined as a 'lock string' on the form 'type:lockfunctions', defining what functionality is locked and how to determine access. Not defining a lock means no access is granted.", + help_text="locks limit access to an entity. A lock is defined as a 'lock string' " + "on the form 'type:lockfunctions', defining what functionality is locked and " + "how to determine access. Not defining a lock means no access is granted.", ) # many2many relationships db_attributes = models.ManyToManyField( Attribute, - help_text="attributes on this object. An attribute can hold any pickle-able python object (see docs for special cases).", + help_text="attributes on this object. An attribute can hold any pickle-able " + "python object (see docs for special cases).", ) db_tags = models.ManyToManyField( Tag, - help_text="tags on this object. Tags are simple string markers to identify, group and alias objects.", + help_text="tags on this object. Tags are simple string markers to identify, " + "group and alias objects.", ) # Database manager @@ -383,7 +392,7 @@ def nattributes(self): return AttributeHandler(self, InMemoryAttributeBackend)
    -
    [docs] class Meta(object): +
    [docs] class Meta: """ Django setup info. """ @@ -743,8 +752,8 @@ # Attribute storage # - # @property db - def __db_get(self): + @property + def db(self): """ Attribute handler wrapper. Allows for the syntax @@ -767,26 +776,24 @@ self._db_holder = DbHolder(self, "attributes") return self._db_holder - # @db.setter - def __db_set(self, value): + @db.setter + def db(self, value): "Stop accidentally replacing the db object" string = "Cannot assign directly to db object! " string += "Use db.attr=value instead." raise Exception(string) - # @db.deleter - def __db_del(self): + @db.deleter + def db(self): "Stop accidental deletion." raise Exception("Cannot delete the db object!") - db = property(__db_get, __db_set, __db_del) - # # Non-persistent (ndb) storage # - # @property ndb - def __ndb_get(self): + @property + def ndb(self): """ A non-attr_obj store (ndb: NonDataBase). Everything stored to this is guaranteed to be cleared when a server is shutdown. @@ -799,20 +806,18 @@ self._ndb_holder = DbHolder(self, "nattrhandler", manager_name="nattributes") return self._ndb_holder - # @db.setter - def __ndb_set(self, value): + @ndb.setter + def ndb(self, value): "Stop accidentally replacing the ndb object" string = "Cannot assign directly to ndb object! " string += "Use ndb.attr=value instead." raise Exception(string) - # @db.deleter - def __ndb_del(self): + @ndb.deleter + def ndb(self): "Stop accidental deletion." raise Exception("Cannot delete the ndb object!") - ndb = property(__ndb_get, __ndb_set, __ndb_del) -
    [docs] def get_display_name(self, looker, **kwargs): """ Displays the name of the object in a viewer-aware manner. @@ -921,7 +926,7 @@ """ try: return reverse("%s-create" % slugify(cls._meta.verbose_name)) - except: + except Exception: return "#"
    [docs] def web_get_detail_url(self): @@ -961,7 +966,7 @@ "%s-detail" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
    [docs] def web_get_puppet_url(self): @@ -973,19 +978,17 @@ str: URI path to object puppet page, if defined. Examples: + :: - ```python - Oscar (Character) = '/characters/oscar/1/puppet/' - ``` + Oscar (Character) = '/characters/oscar/1/puppet/' For this to work, the developer must have defined a named view somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-puppet' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/puppet/$', - CharPuppetView.as_view(), name='character-puppet') - ``` + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/puppet/$', + CharPuppetView.as_view(), name='character-puppet') If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1001,7 +1004,7 @@ "%s-puppet" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
    [docs] def web_get_update_url(self): @@ -1021,11 +1024,10 @@ For this to work, the developer must have defined a named view somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-update' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$', CharUpdateView.as_view(), name='character-update') - ``` If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1041,7 +1043,7 @@ "%s-update" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
    [docs] def web_get_delete_url(self): @@ -1061,11 +1063,10 @@ somewhere in urls.py that follows the format 'modelname-action', so in this case a named view of 'character-detail' would be referenced by this method. + :: - ```python - url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', + url(r'characters/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/delete/$', CharDeleteView.as_view(), name='character-delete') - ``` If no View has been created and defined in urls.py, returns an HTML anchor. @@ -1081,7 +1082,7 @@ "%s-delete" % slugify(self._meta.verbose_name), kwargs={"pk": self.pk, "slug": slugify(self.name)}, ) - except: + except Exception: return "#"
    # Used by Django Sites/Admin diff --git a/docs/1.0-dev/_modules/evennia/typeclasses/tags.html b/docs/1.0-dev/_modules/evennia/typeclasses/tags.html index 1045b92123..0fb7426b87 100644 --- a/docs/1.0-dev/_modules/evennia/typeclasses/tags.html +++ b/docs/1.0-dev/_modules/evennia/typeclasses/tags.html @@ -95,7 +95,7 @@ "key", max_length=255, null=True, help_text="tag identifier", db_index=True ) db_category = models.CharField( - "category", max_length=64, null=True, help_text="tag category", db_index=True + "category", max_length=64, null=True, blank=True, help_text="tag category", db_index=True ) db_data = models.TextField( "data", @@ -117,7 +117,7 @@ db_index=True, ) - class Meta(object): + class Meta: "Define Django meta options" verbose_name = "Tag" unique_together = (("db_key", "db_category", "db_tagtype", "db_model"),) @@ -167,7 +167,10 @@ self._cache_complete = False
    def _query_all(self): - "Get all tags for this objects" + """ + Get all tags for this object. + + """ query = { "%s__id" % self._model: self._objid, "tag__db_model": self._model, @@ -179,7 +182,10 @@ ] def _fullcache(self): - "Cache all tags of this object" + """ + Cache all tags of this object. + + """ if not _TYPECLASS_AGGRESSIVE_CACHE: return tags = self._query_all() @@ -319,6 +325,7 @@
    [docs] def reset_cache(self): """ Reset the cache from the outside. + """ self._cache_complete = False self._cache = {} @@ -525,8 +532,9 @@ Batch-add tags from a list of tuples. Args: - *args (tuple or str): Each argument should be a `tagstr` keys or tuple `(keystr, category)` or - `(keystr, category, data)`. It's possible to mix input types. + *args (tuple or str): Each argument should be a `tagstr` keys or tuple + `(keystr, category)` or `(keystr, category, data)`. It's possible to mix input + types. Notes: This will generate a mimimal number of self.add calls, diff --git a/docs/1.0-dev/_modules/evennia/utils/ansi.html b/docs/1.0-dev/_modules/evennia/utils/ansi.html index 2f751525b5..a8030a82eb 100644 --- a/docs/1.0-dev/_modules/evennia/utils/ansi.html +++ b/docs/1.0-dev/_modules/evennia/utils/ansi.html @@ -62,8 +62,8 @@ ## Markup -ANSI colors: `r` ed, `g` reen, `y` ellow, `b` lue, `m` agenta, `c` yan, `n` ormal (no color). Capital -letters indicate the 'dark' variant. +ANSI colors: `r` ed, `g` reen, `y` ellow, `b` lue, `m` agenta, `c` yan, `n` ormal (no color). +Capital letters indicate the 'dark' variant. - `|r` fg bright red - `|R` fg dark red @@ -379,8 +379,9 @@ colval = 16 + (red * 36) + (green * 6) + blue return "\033[%s8;5;%sm" % (3 + int(background), colval) - # replaced since some clients (like Potato) does not accept codes with leading zeroes, see issue #1024. - # return "\033[%s8;5;%s%s%sm" % (3 + int(background), colval // 100, (colval % 100) // 10, colval%10) + # replaced since some clients (like Potato) does not accept codes with leading zeroes, + # see issue #1024. + # return "\033[%s8;5;%s%s%sm" % (3 + int(background), colval // 100, (colval % 100) // 10, colval%10) # noqa else: # xterm256 not supported, convert the rgb value to ansi instead @@ -771,7 +772,8 @@ """ - # A compiled Regex for the format mini-language: https://docs.python.org/3/library/string.html#formatspec + # A compiled Regex for the format mini-language: + # https://docs.python.org/3/library/string.html#formatspec re_format = re.compile( r"(?i)(?P<just>(?P<fill>.)?(?P<align>\<|\>|\=|\^))?(?P<sign>\+|\-| )?(?P<alt>\#)?" r"(?P<zero>0)?(?P<width>\d+)?(?P<grouping>\_|\,)?(?:\.(?P<precision>\d+))?" @@ -844,12 +846,14 @@ Current features supported: fill, align, width. Args: - format_spec (str): The format specification passed by f-string or str.format(). This is a string such as - "0<30" which would mean "left justify to 30, filling with zeros". The full specification can be found - at https://docs.python.org/3/library/string.html#formatspec + format_spec (str): The format specification passed by f-string or str.format(). This is + a string such as "0<30" which would mean "left justify to 30, filling with zeros". + The full specification can be found at + https://docs.python.org/3/library/string.html#formatspec Returns: ansi_str (str): The formatted ANSIString's .raw() form, for display. + """ # This calls the compiled regex stored on ANSIString's class to analyze the format spec. # It returns a dictionary. @@ -1109,7 +1113,7 @@ current_index = 0 result = tuple() for section in parent_result: - result += (self[current_index : current_index + len(section)],) + result += (self[current_index: current_index + len(section)],) current_index += len(section) return result
    @@ -1229,7 +1233,7 @@ start = next + bylen maxsplit -= 1 # NB. if it's already < 0, it stays < 0 - res.append(self[start : len(self)]) + res.append(self[start: len(self)]) if drop_spaces: return [part for part in res if part != ""] return res
    @@ -1272,7 +1276,7 @@ if next < 0: break # Get character codes after the index as well. - res.append(self[next + bylen : end]) + res.append(self[next + bylen: end]) end = next maxsplit -= 1 # NB. if it's already < 0, it stays < 0 @@ -1326,7 +1330,7 @@ ic -= 1 ir2 -= 1 rstripped = rstripped[::-1] - return ANSIString(lstripped + raw[ir1 : ir2 + 1] + rstripped)
    + return ANSIString(lstripped + raw[ir1: ir2 + 1] + rstripped)
    [docs] def lstrip(self, chars=None): """ @@ -1445,7 +1449,7 @@ start = None end = char._char_indexes[0] prefix = char._raw_string[start:end] - postfix = char._raw_string[end + 1 :] + postfix = char._raw_string[end + 1:] line = char._clean_string * amount code_indexes = [i for i in range(0, len(prefix))] length = len(prefix) + len(line) diff --git a/docs/1.0-dev/_modules/evennia/utils/batchprocessors.html b/docs/1.0-dev/_modules/evennia/utils/batchprocessors.html index bcf36c6fdb..22eb955621 100644 --- a/docs/1.0-dev/_modules/evennia/utils/batchprocessors.html +++ b/docs/1.0-dev/_modules/evennia/utils/batchprocessors.html @@ -326,7 +326,7 @@ try: path = match.group(1) return "\n#\n".join(self.parse_file(path)) - except IOError as err: + except IOError: raise IOError("#INSERT {} failed.".format(path)) text = _RE_INSERT.sub(replace_insert, text) diff --git a/docs/1.0-dev/_modules/evennia/utils/containers.html b/docs/1.0-dev/_modules/evennia/utils/containers.html index c332ed7557..bf22957382 100644 --- a/docs/1.0-dev/_modules/evennia/utils/containers.html +++ b/docs/1.0-dev/_modules/evennia/utils/containers.html @@ -61,7 +61,7 @@ SCRIPTDB = None -
    [docs]class Container(object): +
    [docs]class Container: """ Base container class. A container is simply a storage object whose properties can be acquired as a property on it. This is generally @@ -198,9 +198,8 @@ return new_script if ((found.interval != interval) - or (found.start_delay != start_delay) - or (found.repeats != repeats) - ): + or (found.start_delay != start_delay) + or (found.repeats != repeats)): # the setup changed found.start(interval=interval, start_delay=start_delay, repeats=repeats) if found.desc != desc: diff --git a/docs/1.0-dev/_modules/evennia/utils/dbserialize.html b/docs/1.0-dev/_modules/evennia/utils/dbserialize.html index 44fee14095..94b407a4b0 100644 --- a/docs/1.0-dev/_modules/evennia/utils/dbserialize.html +++ b/docs/1.0-dev/_modules/evennia/utils/dbserialize.html @@ -71,7 +71,7 @@ from django.core.exceptions import ObjectDoesNotExist from django.contrib.contenttypes.models import ContentType from django.utils.safestring import SafeString -from evennia.utils.utils import uses_database, is_iter, to_str, to_bytes +from evennia.utils.utils import uses_database, is_iter, to_bytes from evennia.utils import logger __all__ = ("to_pickle", "from_pickle", "do_pickle", "do_unpickle", "dbserialize", "dbunserialize") diff --git a/docs/1.0-dev/_modules/evennia/utils/eveditor.html b/docs/1.0-dev/_modules/evennia/utils/eveditor.html index b9657c080f..4ab097fa02 100644 --- a/docs/1.0-dev/_modules/evennia/utils/eveditor.html +++ b/docs/1.0-dev/_modules/evennia/utils/eveditor.html @@ -84,10 +84,11 @@ import re from django.conf import settings -from evennia import Command, CmdSet +from evennia import CmdSet from evennia.utils import is_iter, fill, dedent, logger, justify, to_str, utils from evennia.utils.ansi import raw from evennia.commands import cmdhandler +from django.utils.translation import gettext as _ # we use cmdhandler instead of evennia.syscmdkeys to # avoid some cases of loading before evennia init'd @@ -105,7 +106,7 @@ # # ------------------------------------------------------------- -_HELP_TEXT = """ +_HELP_TEXT = _(""" <txt> - any non-command is appended to the end of the buffer. : <l> - view buffer or only line(s) <l> :: <l> - raw-view buffer or only line(s) <l> @@ -141,66 +142,66 @@ :fd <l> - de-indent entire buffer or line <l> :echo - turn echoing of the input on/off (helpful for some clients) -""" +""") -_HELP_LEGEND = """ +_HELP_LEGEND = _(""" Legend: <l> - line number, like '5' or range, like '3:7'. <w> - a single word, or multiple words with quotes around them. <txt> - longer string, usually not needing quotes. -""" +""") -_HELP_CODE = """ +_HELP_CODE = _(""" :! - Execute code buffer without saving :< - Decrease the level of automatic indentation for the next lines :> - Increase the level of automatic indentation for the next lines := - Switch automatic indentation on/off """.lstrip( "\n" -) +)) -_ERROR_LOADFUNC = """ +_ERROR_LOADFUNC = _(""" {error} |rBuffer load function error. Could not load initial data.|n -""" +""") -_ERROR_SAVEFUNC = """ +_ERROR_SAVEFUNC = _(""" {error} |rSave function returned an error. Buffer not saved.|n -""" +""") -_ERROR_NO_SAVEFUNC = "|rNo save function defined. Buffer cannot be saved.|n" +_ERROR_NO_SAVEFUNC = _("|rNo save function defined. Buffer cannot be saved.|n") -_MSG_SAVE_NO_CHANGE = "No changes need saving" -_DEFAULT_NO_QUITFUNC = "Exited editor." +_MSG_SAVE_NO_CHANGE = _("No changes need saving") +_DEFAULT_NO_QUITFUNC = _("Exited editor.") -_ERROR_QUITFUNC = """ +_ERROR_QUITFUNC = _(""" {error} |rQuit function gave an error. Skipping.|n -""" +""") -_ERROR_PERSISTENT_SAVING = """ +_ERROR_PERSISTENT_SAVING = _(""" {error} |rThe editor state could not be saved for persistent mode. Switching to non-persistent mode (which means the editor session won't survive an eventual server reload - so save often!)|n -""" +""") -_TRACE_PERSISTENT_SAVING = ( +_TRACE_PERSISTENT_SAVING = _( "EvEditor persistent-mode error. Commonly, this is because one or " "more of the EvEditor callbacks could not be pickled, for example " "because it's a class method or is defined inside another function." ) -_MSG_NO_UNDO = "Nothing to undo." -_MSG_NO_REDO = "Nothing to redo." -_MSG_UNDO = "Undid one step." -_MSG_REDO = "Redid one step." +_MSG_NO_UNDO = _("Nothing to undo.") +_MSG_NO_REDO = _("Nothing to redo.") +_MSG_UNDO = _("Undid one step.") +_MSG_REDO = _("Redid one step.") # ------------------------------------------------------------- # @@ -222,7 +223,10 @@ help_cateogory = "LineEditor"
    [docs] def func(self): - """Implement the yes/no choice.""" + """ + Implement the yes/no choice. + + """ # this is only called from inside the lineeditor # so caller.ndb._lineditor must be set. @@ -237,7 +241,10 @@
    [docs]class SaveYesNoCmdSet(CmdSet): - """Stores the yesno question""" + """ + Stores the yesno question + + """ key = "quitsave_yesno" priority = 150 # override other cmdsets. @@ -373,6 +380,7 @@ def _load_editor(caller): """ Load persistent editor from storage. + """ saved_options = caller.attributes.get("_eveditor_saved") saved_buffer, saved_undo = caller.attributes.get("_eveditor_buffer_temp", (None, None)) @@ -398,6 +406,7 @@
    [docs]class CmdLineInput(CmdEditorBase): """ No command match - Inputs line of text into buffer. + """ key = _CMD_NOMATCH @@ -482,6 +491,7 @@ This command handles all the in-editor :-style commands. Since each command is small and very limited, this makes for a more efficient presentation. + """ caller = self.caller editor = caller.ndb._eveditor @@ -509,7 +519,7 @@ # Insert single colon alone on a line editor.update_buffer([":"] if lstart == 0 else linebuffer + [":"]) if echo_mode: - caller.msg("Single ':' added to buffer.") + caller.msg(_("Single ':' added to buffer.")) elif cmd == ":h": # help entry editor.display_help() @@ -524,7 +534,7 @@ # quit. If not saved, will ask if self.editor._unsaved: caller.cmdset.add(SaveYesNoCmdSet) - caller.msg("Save before quitting? |lcyes|lt[Y]|le/|lcno|ltN|le") + caller.msg(_("Save before quitting?") + " |lcyes|lt[Y]|le/|lcno|ltN|le") else: editor.quit() elif cmd == ":q!": @@ -539,24 +549,26 @@ elif cmd == ":UU": # reset buffer editor.update_buffer(editor._pristine_buffer) - caller.msg("Reverted all changes to the buffer back to original state.") + caller.msg(_("Reverted all changes to the buffer back to original state.")) elif cmd == ":dd": # :dd <l> - delete line <l> buf = linebuffer[:lstart] + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("Deleted %s." % self.lstr) + caller.msg(_("Deleted {string}.").format(string=self.lstr)) elif cmd == ":dw": # :dw <w> - delete word in entire buffer # :dw <l> <w> delete word only on line(s) <l> if not self.arg1: - caller.msg("You must give a search word to delete.") + caller.msg(_("You must give a search word to delete.")) else: if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Removed %s for lines %i-%i." % (self.arg1, lstart + 1, lend + 1)) + caller.msg(_("Removed {arg1} for lines {l1}-{l2}.").format( + arg1=self.arg1, l1=lstart + 1, l2=lend + 1)) else: - caller.msg("Removed %s for %s." % (self.arg1, self.lstr)) + caller.msg(_("Removed {arg1} for {line}.").format( + arg1=self.arg1, line=self.lstr)) sarea = "\n".join(linebuffer[lstart:lend]) sarea = re.sub(r"%s" % self.arg1.strip("'").strip('"'), "", sarea, re.MULTILINE) buf = linebuffer[:lstart] + sarea.split("\n") + linebuffer[lend:] @@ -571,49 +583,52 @@ editor._indent = 0 if editor._persistent: caller.attributes.add("_eveditor_indent", 0) - caller.msg("Cleared %i lines from buffer." % self.nlines) + caller.msg(_("Cleared {nlines} lines from buffer.").format(nlines=self.nlines)) elif cmd == ":y": # :y <l> - yank line(s) to copy buffer cbuf = linebuffer[lstart:lend] editor._copy_buffer = cbuf - caller.msg("%s, %s yanked." % (self.lstr.capitalize(), cbuf)) + caller.msg(_("{line}, {cbuf} yanked.").format(line=self.lstr.capitalize(), cbuf=cbuf)) elif cmd == ":x": # :x <l> - cut line to copy buffer cbuf = linebuffer[lstart:lend] editor._copy_buffer = cbuf buf = linebuffer[:lstart] + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("%s, %s cut." % (self.lstr.capitalize(), cbuf)) + caller.msg(_("{line}, {cbuf} cut.").format(line=self.lstr.capitalize(), cbuf=cbuf)) elif cmd == ":p": # :p <l> paste line(s) from copy buffer if not editor._copy_buffer: - caller.msg("Copy buffer is empty.") + caller.msg(_("Copy buffer is empty.")) else: buf = linebuffer[:lstart] + editor._copy_buffer + linebuffer[lstart:] editor.update_buffer(buf) - caller.msg("Pasted buffer %s to %s." % (editor._copy_buffer, self.lstr)) + caller.msg(_("Pasted buffer {cbuf} to {line}.").format( + cbuf=editor._copy_buffer, line=self.lstr)) elif cmd == ":i": # :i <l> <txt> - insert new line new_lines = self.args.split("\n") if not new_lines: - caller.msg("You need to enter a new line and where to insert it.") + caller.msg(_("You need to enter a new line and where to insert it.")) else: buf = linebuffer[:lstart] + new_lines + linebuffer[lstart:] editor.update_buffer(buf) - caller.msg("Inserted %i new line(s) at %s." % (len(new_lines), self.lstr)) + caller.msg(_("Inserted {num} new line(s) at {line}.").format( + num=len(new_lines), line=self.lstr)) elif cmd == ":r": # :r <l> <txt> - replace lines new_lines = self.args.split("\n") if not new_lines: - caller.msg("You need to enter a replacement string.") + caller.msg(_("You need to enter a replacement string.")) else: buf = linebuffer[:lstart] + new_lines + linebuffer[lend:] editor.update_buffer(buf) - caller.msg("Replaced %i line(s) at %s." % (len(new_lines), self.lstr)) + caller.msg(_("Replaced {num} line(s) at {line}.").format( + num=len(new_lines), line=self.lstr)) elif cmd == ":I": # :I <l> <txt> - insert text at beginning of line(s) <l> if not self.raw_string and not editor._codefunc: - caller.msg("You need to enter text to insert.") + caller.msg(_("You need to enter text to insert.")) else: buf = ( linebuffer[:lstart] @@ -621,11 +636,11 @@ + linebuffer[lend:] ) editor.update_buffer(buf) - caller.msg("Inserted text at beginning of %s." % self.lstr) + caller.msg(_("Inserted text at beginning of {line}.").format(line=self.lstr)) elif cmd == ":A": # :A <l> <txt> - append text after end of line(s) if not self.args: - caller.msg("You need to enter text to append.") + caller.msg(_("You need to enter text to append.")) else: buf = ( linebuffer[:lstart] @@ -633,23 +648,24 @@ + linebuffer[lend:] ) editor.update_buffer(buf) - caller.msg("Appended text to end of %s." % self.lstr) + caller.msg(_("Appended text to end of {line}.").format(line=self.lstr)) elif cmd == ":s": # :s <li> <w> <txt> - search and replace words # in entire buffer or on certain lines if not self.arg1 or not self.arg2: - caller.msg("You must give a search word and something to replace it with.") + caller.msg(_("You must give a search word and something to replace it with.")) else: if not self.linerange: lstart = 0 lend = self.cline + 1 caller.msg( - "Search-replaced %s -> %s for lines %i-%i." - % (self.arg1, self.arg2, lstart + 1, lend) + _("Search-replaced {arg1} -> {arg2} for lines {l1}-{l2}.").format( + arg1=self.arg1, arg2=self.arg2, l1=lstart + 1, l2=lend) ) else: caller.msg( - "Search-replaced %s -> %s for %s." % (self.arg1, self.arg2, self.lstr) + _("Search-replaced {arg1} -> {arg2} for {line}.").format( + arg1=self.arg1, arg2=self.arg2, line=self.lstr) ) sarea = "\n".join(linebuffer[lstart:lend]) @@ -671,9 +687,10 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Flood filled lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Flood filled lines {l1}-{l2}.").format( + l1=lstart + 1, l2=lend)) else: - caller.msg("Flood filled %s." % self.lstr) + caller.msg(_("Flood filled {line}.").format(line=self.lstr)) fbuf = "\n".join(linebuffer[lstart:lend]) fbuf = fill(fbuf, width=width) buf = linebuffer[:lstart] + fbuf.split("\n") + linebuffer[lend:] @@ -695,16 +712,19 @@ width = _DEFAULT_WIDTH if self.arg1 and self.arg1.lower() not in align_map: self.caller.msg( - "Valid justifications are [f]ull (default), [c]enter, [r]right or [l]eft" + _("Valid justifications are") + + " [f]ull (default), [c]enter, [r]right or [l]eft" ) return align = align_map[self.arg1.lower()] if self.arg1 else "f" if not self.linerange: lstart = 0 lend = self.cline + 1 - self.caller.msg("%s-justified lines %i-%i." % (align_name[align], lstart + 1, lend)) + self.caller.msg(_("{align}-justified lines {l1}-{l2}.").format( + align=align_name[align], l1=lstart + 1, l2=lend)) else: - self.caller.msg("%s-justified %s." % (align_name[align], self.lstr)) + self.caller.msg(_("{align}-justified {line}.").format( + align=align_name[align], line=self.lstr)) jbuf = "\n".join(linebuffer[lstart:lend]) jbuf = justify(jbuf, width=width, align=align) buf = linebuffer[:lstart] + jbuf.split("\n") + linebuffer[lend:] @@ -715,9 +735,9 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Indented lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Indented lines {l1}-{l2}.").format(l1=lstart + 1, l2=lend)) else: - caller.msg("Indented %s." % self.lstr) + caller.msg(_("Indented {line}.").format(line=self.lstr)) fbuf = [indent + line for line in linebuffer[lstart:lend]] buf = linebuffer[:lstart] + fbuf + linebuffer[lend:] editor.update_buffer(buf) @@ -726,9 +746,10 @@ if not self.linerange: lstart = 0 lend = self.cline + 1 - caller.msg("Removed left margin (dedented) lines %i-%i." % (lstart + 1, lend)) + caller.msg(_("Removed left margin (dedented) lines {l1}-{l2}.").format( + l1=lstart + 1, l2=lend)) else: - caller.msg("Removed left margin (dedented) %s." % self.lstr) + caller.msg(_("Removed left margin (dedented) {line}.").format(line=self.lstr)) fbuf = "\n".join(linebuffer[lstart:lend]) fbuf = dedent(fbuf) buf = linebuffer[:lstart] + fbuf.split("\n") + linebuffer[lend:] @@ -736,45 +757,49 @@ elif cmd == ":echo": # set echoing on/off editor._echo_mode = not editor._echo_mode - caller.msg("Echo mode set to %s" % editor._echo_mode) + caller.msg(_("Echo mode set to {mode}").format(mode=editor._echo_mode)) elif cmd == ":!": if editor._codefunc: editor._codefunc(caller, editor._buffer) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":<": # :< if editor._codefunc: editor.decrease_indent() indent = editor._indent if indent >= 0: - caller.msg("Decreased indentation: new indentation is {}.".format(indent)) + caller.msg(_( + "Decreased indentation: new indentation is {indent}.").format( + indent=indent)) else: - caller.msg("|rManual indentation is OFF.|n Use := to turn it on.") + caller.msg(_("|rManual indentation is OFF.|n Use := to turn it on.")) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":>": # :> if editor._codefunc: editor.increase_indent() indent = editor._indent if indent >= 0: - caller.msg("Increased indentation: new indentation is {}.".format(indent)) + caller.msg(_( + "Increased indentation: new indentation is {indent}.").format( + indent=indent)) else: - caller.msg("|rManual indentation is OFF.|n Use := to turn it on.") + caller.msg(_("|rManual indentation is OFF.|n Use := to turn it on.")) else: - caller.msg("This command is only available in code editor mode.") + caller.msg(_("This command is only available in code editor mode.")) elif cmd == ":=": # := if editor._codefunc: editor.swap_autoindent() indent = editor._indent if indent >= 0: - caller.msg("Auto-indentation turned on.") + caller.msg(_("Auto-indentation turned on.")) else: - caller.msg("Auto-indentation turned off.") + caller.msg(_("Auto-indentation turned off.")) else: - caller.msg("This command is only available in code editor mode.")
    + caller.msg(_("This command is only available in code editor mode."))
    [docs]class EvEditorCmdSet(CmdSet): @@ -795,7 +820,7 @@ # ------------------------------------------------------------- -
    [docs]class EvEditor(object): +
    [docs]class EvEditor: """ This defines a line editor object. It creates all relevant commands and tracks the current state of the buffer. It also cleans up after @@ -921,12 +946,13 @@
    [docs] def load_buffer(self): """ Load the buffer using the load function hook. + """ try: self._buffer = self._loadfunc(self._caller) if not isinstance(self._buffer, str): self._buffer = to_str(self._buffer) - self._caller.msg("|rNote: input buffer was converted to a string.|n") + self._caller.msg(_("|rNote: input buffer was converted to a string.|n")) except Exception as e: from evennia.utils import logger @@ -1063,7 +1089,7 @@ header = ( "|n" + sep * 10 - + "Line Editor [%s]" % self._key + + _("Line Editor [{name}]").format(name=self._key) + sep * (_DEFAULT_WIDTH - 24 - len(self._key)) ) footer = ( @@ -1071,7 +1097,7 @@ + sep * 10 + "[l:%02i w:%03i c:%04i]" % (nlines, nwords, nchars) + sep * 12 - + "(:h for help)" + + _("(:h for help)") + sep * (_DEFAULT_WIDTH - 54) ) if linenums: diff --git a/docs/1.0-dev/_modules/evennia/utils/evmenu.html b/docs/1.0-dev/_modules/evennia/utils/evmenu.html index 4704d5055c..62b8aad16f 100644 --- a/docs/1.0-dev/_modules/evennia/utils/evmenu.html +++ b/docs/1.0-dev/_modules/evennia/utils/evmenu.html @@ -457,7 +457,8 @@ ) # don't give the session as a kwarg here, direct to original raise EvMenuError(err) # we must do this after the caller with the menu has been correctly identified since it - # can be either Account, Object or Session (in the latter case this info will be superfluous). + # can be either Account, Object or Session (in the latter case this info will be + # superfluous). caller.ndb._evmenu._session = self.session # we have a menu, use it. menu.parse_input(self.raw_string)
    @@ -661,7 +662,8 @@ ).intersection(set(kwargs.keys())) if reserved_clash: raise RuntimeError( - f"One or more of the EvMenu `**kwargs` ({list(reserved_clash)}) is reserved by EvMenu for internal use." + f"One or more of the EvMenu `**kwargs` ({list(reserved_clash)}) " + "is reserved by EvMenu for internal use." ) for key, val in kwargs.items(): setattr(self, key, val) @@ -1304,7 +1306,7 @@ table.extend([" " for i in range(nrows - nlastcol)]) # build the actual table grid - table = [table[icol * nrows : (icol * nrows) + nrows] for icol in range(0, ncols)] + table = [table[icol * nrows: (icol * nrows) + nrows] for icol in range(0, ncols)] # adjust the width of each column for icol in range(len(table)): @@ -1373,10 +1375,31 @@ Example: ```python - list_node(['foo', 'bar'], select) + def select(caller, selection, available_choices=None, **kwargs): + ''' + Args: + caller (Object or Account): User of the menu. + selection (str): What caller chose in the menu + available_choices (list): The keys of elements available on the *current listing + page*. + **kwargs: Kwargs passed on from the node. + Returns: + tuple, str or None: A tuple (nextnodename, **kwargs) or just nextnodename. Return + `None` to go back to the listnode. + + # (do something with `selection` here) + + return "nextnode", **kwargs + + @list_node(['foo', 'bar'], select) def node_index(caller): text = "describing the list" - return text, [] + + # optional extra options in addition to the list-options + extra_options = [] + + return text, extra_options + ``` Notes: @@ -1391,6 +1414,7 @@ def _select_parser(caller, raw_string, **kwargs): """ Parse the select action + """ available_choices = kwargs.get("available_choices", []) @@ -1398,14 +1422,15 @@ index = int(raw_string.strip()) - 1 selection = available_choices[index] except Exception: - caller.msg("|rInvalid choice.|n") + caller.msg(_("|rInvalid choice.|n")) else: if callable(select): try: if bool(getargspec(select).keywords): - return select(caller, selection, available_choices=available_choices) + return select( + caller, selection, available_choices=available_choices, **kwargs) else: - return select(caller, selection) + return select(caller, selection, **kwargs) except Exception: logger.log_trace() elif select: @@ -1430,7 +1455,7 @@ if option_list: nall_options = len(option_list) pages = [ - option_list[ind : ind + pagesize] for ind in range(0, nall_options, pagesize) + option_list[ind: ind + pagesize] for ind in range(0, nall_options, pagesize) ] npages = len(pages) @@ -1444,7 +1469,7 @@ # callback being called with a result from the available choices options.extend( [ - {"desc": opt, "goto": (_select_parser, {"available_choices": page})} + {"desc": opt, "goto": (_select_parser, {"available_choices": page, **kwargs})} for opt in page ] ) @@ -1455,7 +1480,7 @@ # allows us to call ourselves over and over, using different kwargs. options.append( { - "key": ("|Wcurrent|n", "c"), + "key": (_("|Wcurrent|n"), "c"), "desc": "|W({}/{})|n".format(page_index + 1, npages), "goto": (lambda caller: None, {"optionpage_index": page_index}), } @@ -1463,14 +1488,14 @@ if page_index > 0: options.append( { - "key": ("|wp|Wrevious page|n", "p"), + "key": (_("|wp|Wrevious page|n"), "p"), "goto": (lambda caller: None, {"optionpage_index": page_index - 1}), } ) if page_index < npages - 1: options.append( { - "key": ("|wn|Wext page|n", "n"), + "key": (_("|wn|Wext page|n"), "n"), "goto": (lambda caller: None, {"optionpage_index": page_index + 1}), } ) @@ -1704,7 +1729,7 @@ inp = raw if inp in ('a', 'abort') and yes_no_question.allow_abort: - caller.msg("Aborted.") + caller.msg(_("Aborted.")) self._clean(caller) return @@ -1714,7 +1739,6 @@ kwargs = yes_no_question.kwargs kwargs['caller_session'] = self.session - ok = False if inp in ('yes', 'y'): yes_no_question.yes_callable(caller, *args, **kwargs) elif inp in ('no', 'n'): @@ -1726,9 +1750,9 @@ # cleanup self._clean(caller) - except Exception as err: + except Exception: # make sure to clean up cmdset if something goes wrong - caller.msg("|rError in ask_yes_no. Choice not confirmed (report to admin)|n") + caller.msg(_("|rError in ask_yes_no. Choice not confirmed (report to admin)|n")) logger.log_trace("Error in ask_yes_no") self._clean(caller) raise
    @@ -1980,7 +2004,7 @@ """ Validate goto-callable kwarg is on correct form. """ - if not "=" in kwarg: + if "=" not in kwarg: raise RuntimeError( f"EvMenu template error: goto-callable '{goto}' has a " f"non-kwarg argument ({kwarg}). All callables in the " @@ -1997,6 +2021,7 @@ def _parse_options(nodename, optiontxt, goto_callables): """ Parse option section into option dict. + """ options = [] optiontxt = optiontxt[0].strip() if optiontxt else "" @@ -2074,6 +2099,7 @@ def _parse(caller, menu_template, goto_callables): """ Parse the menu string format into a node tree. + """ nodetree = {} splits = _RE_NODE.split(menu_template) diff --git a/docs/1.0-dev/_modules/evennia/utils/evmore.html b/docs/1.0-dev/_modules/evennia/utils/evmore.html index b4525aed98..a402efea82 100644 --- a/docs/1.0-dev/_modules/evennia/utils/evmore.html +++ b/docs/1.0-dev/_modules/evennia/utils/evmore.html @@ -85,6 +85,7 @@ from evennia.commands import cmdhandler from evennia.utils.ansi import ANSIString from evennia.utils.utils import make_iter, inherits_from, justify, dedent +from django.utils.translation import gettext as _ _CMD_NOMATCH = cmdhandler.CMD_NOMATCH _CMD_NOINPUT = cmdhandler.CMD_NOINPUT @@ -273,7 +274,7 @@ self._justify_kwargs = justify_kwargs self.exit_on_lastpage = exit_on_lastpage self.exit_cmd = exit_cmd - self._exit_msg = "Exited |wmore|n pager." + self._exit_msg = _("Exited |wmore|n pager.") self._kwargs = kwargs self._data = None @@ -396,8 +397,9 @@ """ Paginate by slice. This is done with an eye on memory efficiency (usually for querysets); to avoid fetching all objects at the same time. + """ - return self._data[pageno * self.height : pageno * self.height + self.height]
    + return self._data[pageno * self.height: pageno * self.height + self.height]
    [docs] def paginator_django(self, pageno): """ @@ -475,7 +477,7 @@ lines = text.split("\n") self._data = [ - _LBR.join(lines[i : i + self.height]) for i in range(0, len(lines), self.height) + _LBR.join(lines[i: i + self.height]) for i in range(0, len(lines), self.height) ] self._npages = len(self._data)
    @@ -493,14 +495,15 @@ Notes: If overridden, this method must perform the following actions: - - read and re-store `self._data` (the incoming data set) if needed for pagination to work. + - read and re-store `self._data` (the incoming data set) if needed for pagination to + work. - set `self._npages` to the total number of pages. Default is 1. - set `self._paginator` to a callable that will take a page number 1...N and return the data to display on that page (not any decorations or next/prev buttons). If only wanting to change the paginator, override `self.paginator` instead. - - set `self._page_formatter` to a callable that will receive the page from `self._paginator` - and format it with one element per line. Default is `str`. Or override `self.page_formatter` - directly instead. + - set `self._page_formatter` to a callable that will receive the page from + `self._paginator` and format it with one element per line. Default is `str`. Or + override `self.page_formatter` directly instead. By default, helper methods are called that perform these actions depending on supported inputs. diff --git a/docs/1.0-dev/_modules/evennia/utils/evtable.html b/docs/1.0-dev/_modules/evennia/utils/evtable.html index 42fd3c4bdd..348c9cf257 100644 --- a/docs/1.0-dev/_modules/evennia/utils/evtable.html +++ b/docs/1.0-dev/_modules/evennia/utils/evtable.html @@ -281,12 +281,12 @@ del chunks[-1] while chunks: - l = d_len(chunks[-1]) + ln = d_len(chunks[-1]) # Can at least squeeze this chunk onto the current line. - if cur_len + l <= width: + if cur_len + ln <= width: cur_line.append(chunks.pop()) - cur_len += l + cur_len += ln # Nope, this line is full. else: @@ -304,10 +304,10 @@ # Convert current line back to a string and store it in list # of all lines (return value). if cur_line: - l = "" + ln = "" for w in cur_line: # ANSI fix - l += w # - lines.append(indent + l) + ln += w # + lines.append(indent + ln) return lines
    @@ -1141,8 +1141,9 @@ height (int, optional): Fixed height of table. Defaults to being unset. Width is still given precedence. If given, table cells will crop text rather than expand vertically. - evenwidth (bool, optional): Used with the `width` keyword. Adjusts columns to have as even width as - possible. This often looks best also for mixed-length tables. Default is `False`. + evenwidth (bool, optional): Used with the `width` keyword. Adjusts columns to have as + even width as possible. This often looks best also for mixed-length tables. Default + is `False`. maxwidth (int, optional): This will set a maximum width of the table while allowing it to be smaller. Only if it grows wider than this size will it be resized by expanding horizontally (or crop `height` is given). @@ -1389,7 +1390,8 @@ self.ncols = ncols self.nrows = nrowmax - # add borders - these add to the width/height, so we must do this before calculating width/height + # add borders - these add to the width/height, so we must do this before calculating + # width/height self._borders() # equalize widths within each column @@ -1476,7 +1478,8 @@ except Exception: raise - # equalize heights for each row (we must do this here, since it may have changed to fit new widths) + # equalize heights for each row (we must do this here, since it may have changed to fit new + # widths) cheights = [ max(cell.get_height() for cell in (col[iy] for col in self.worktable)) for iy in range(nrowmax) diff --git a/docs/1.0-dev/_modules/evennia/utils/funcparser.html b/docs/1.0-dev/_modules/evennia/utils/funcparser.html index dd66d00821..ad2d835e5b 100644 --- a/docs/1.0-dev/_modules/evennia/utils/funcparser.html +++ b/docs/1.0-dev/_modules/evennia/utils/funcparser.html @@ -85,11 +85,9 @@ --- """ -import re import dataclasses import inspect import random -from functools import partial from django.conf import settings from evennia.utils import logger from evennia.utils.utils import ( @@ -276,8 +274,6 @@ f"(available: {available})") return str(parsedfunc) - nargs = len(args) - # build kwargs in the proper priority order kwargs = {**self.default_kwargs, **kwargs, **reserved_kwargs, **{'funcparser': self, "raise_errors": raise_errors}} @@ -648,7 +644,7 @@ - `$py(3 + 4) -> 7` """ - args, kwargs = safe_convert_to_types(("py", {}) , *args, **kwargs) + args, kwargs = safe_convert_to_types(("py", {}), *args, **kwargs) return args[0] if args else ''
    @@ -736,7 +732,7 @@ """ if not args: return '' - args, _ = safe_convert_to_types(((float, int), {}) *args, **kwargs) + args, _ = safe_convert_to_types(((float, int), {}), *args, **kwargs) num, *significant = args significant = significant[0] if significant else 0 @@ -1074,7 +1070,8 @@ return_list=True, **kwargs)
    -
    [docs]def funcparser_callable_you(*args, caller=None, receiver=None, mapping=None, capitalize=False, **kwargs): +
    [docs]def funcparser_callable_you(*args, caller=None, receiver=None, mapping=None, capitalize=False, + **kwargs): """ Usage: $you() or $you(key) @@ -1123,10 +1120,12 @@ capitalize = bool(capitalize) if caller == receiver: return "You" if capitalize else "you" - return caller.get_display_name(looker=receiver) if hasattr(caller, "get_display_name") else str(caller)
    + return (caller.get_display_name(looker=receiver) + if hasattr(caller, "get_display_name") else str(caller))
    -
    [docs]def funcparser_callable_You(*args, you=None, receiver=None, mapping=None, capitalize=True, **kwargs): +
    [docs]def funcparser_callable_You(*args, you=None, receiver=None, mapping=None, capitalize=True, + **kwargs): """ Usage: $You() - capitalizes the 'you' output. diff --git a/docs/1.0-dev/_modules/evennia/utils/gametime.html b/docs/1.0-dev/_modules/evennia/utils/gametime.html index 72ffc162cb..f5f5260474 100644 --- a/docs/1.0-dev/_modules/evennia/utils/gametime.html +++ b/docs/1.0-dev/_modules/evennia/utils/gametime.html @@ -49,7 +49,6 @@ """ import time -from calendar import monthrange from datetime import datetime, timedelta from django.db.utils import OperationalError diff --git a/docs/1.0-dev/_modules/evennia/utils/idmapper/models.html b/docs/1.0-dev/_modules/evennia/utils/idmapper/models.html index b7c0b07200..78c8145d1b 100644 --- a/docs/1.0-dev/_modules/evennia/utils/idmapper/models.html +++ b/docs/1.0-dev/_modules/evennia/utils/idmapper/models.html @@ -105,7 +105,8 @@ return super(SharedMemoryModelBase, cls).__call__(*args, **kwargs) instance_key = cls._get_cache_key(args, kwargs) - # depending on the arguments, we might not be able to infer the PK, so in that case we create a new instance + # depending on the arguments, we might not be able to infer the PK, so in that case we + # create a new instance if instance_key is None: return new_instance() cached_instance = cls.get_cached_instance(instance_key) @@ -196,9 +197,9 @@ if isinstance(value, (str, int)): value = to_str(value) if value.isdigit() or value.startswith("#"): - # we also allow setting using dbrefs, if so we try to load the matching object. - # (we assume the object is of the same type as the class holding the field, if - # not a custom handler must be used for that field) + # we also allow setting using dbrefs, if so we try to load the matching + # object. (we assume the object is of the same type as the class holding + # the field, if not a custom handler must be used for that field) dbid = dbref(value, reqhash=False) if dbid: model = _GA(cls, "_meta").get_field(fname).model @@ -308,21 +309,24 @@ pk = cls._meta.pks[0] else: pk = cls._meta.pk - # get the index of the pk in the class fields. this should be calculated *once*, but isn't atm + # get the index of the pk in the class fields. this should be calculated *once*, but isn't + # atm pk_position = cls._meta.fields.index(pk) if len(args) > pk_position: # if it's in the args, we can get it easily by index result = args[pk_position] elif pk.attname in kwargs: - # retrieve the pk value. Note that we use attname instead of name, to handle the case where the pk is a - # a ForeignKey. + # retrieve the pk value. Note that we use attname instead of name, to handle the case + # where the pk is a a ForeignKey. result = kwargs[pk.attname] elif pk.name != pk.attname and pk.name in kwargs: - # ok we couldn't find the value, but maybe it's a FK and we can find the corresponding object instead + # ok we couldn't find the value, but maybe it's a FK and we can find the corresponding + # object instead result = kwargs[pk.name] if result is not None and isinstance(result, Model): - # if the pk value happens to be a model instance (which can happen wich a FK), we'd rather use its own pk as the key + # if the pk value happens to be a model instance (which can happen wich a FK), we'd + # rather use its own pk as the key result = result._get_pk_val() return result diff --git a/docs/1.0-dev/_modules/evennia/utils/logger.html b/docs/1.0-dev/_modules/evennia/utils/logger.html index 50983e3509..445134eda2 100644 --- a/docs/1.0-dev/_modules/evennia/utils/logger.html +++ b/docs/1.0-dev/_modules/evennia/utils/logger.html @@ -58,7 +58,6 @@ import os import time -import glob from datetime import datetime from traceback import format_exc from twisted.python import log, logfile @@ -89,6 +88,7 @@ Returns: timestring (str): A formatted string of the given time. + """ when = when if when else time.time() @@ -168,6 +168,7 @@ server.log.2020_01_29 server.log.2020_01_29__1 server.log.2020_01_29__2 + """ suffix = "" copy_suffix = 0 @@ -188,7 +189,10 @@ return suffix
    [docs] def write(self, data): - "Write data to log file" + """ + Write data to log file + + """ logfile.BaseLogFile.write(self, data) self.lastDate = max(self.lastDate, self.toDate()) self.size += len(data)
    @@ -197,6 +201,7 @@
    [docs]class PortalLogObserver(log.FileLogObserver): """ Reformat logging + """ timeFormat = None @@ -331,6 +336,7 @@ Prints any generic debugging/informative info that should appear in the log. infomsg: (string) The message to be logged. + """ try: infomsg = str(infomsg) @@ -349,6 +355,7 @@ Args: depmsg (str): The deprecation message to log. + """ try: depmsg = str(depmsg) @@ -367,6 +374,7 @@ Args: secmsg (str): The security message to log. + """ try: secmsg = str(secmsg) @@ -388,6 +396,7 @@ the LogFile's rotate method in order to append some of the last lines of the previous log to the start of the new log, in order to preserve a continuous chat history for channel log files. + """ # we delay import of settings to keep logger module as free @@ -403,6 +412,7 @@ """ Rotates our log file and appends some number of lines from the previous log to the start of the new one. + """ append_tail = (num_lines_to_append if num_lines_to_append is not None @@ -419,9 +429,11 @@ """ Convenience method for accessing our _file attribute's seek method, which is used in tail_log_function. + Args: *args: Same args as file.seek **kwargs: Same kwargs as file.seek + """ return self._file.seek(*args, **kwargs)
    @@ -429,12 +441,14 @@ """ Convenience method for accessing our _file attribute's readlines method, which is used in tail_log_function. + Args: *args: same args as file.readlines **kwargs: same kwargs as file.readlines Returns: lines (list): lines from our _file attribute. + """ return [line.decode("utf-8") for line in self._file.readlines(*args, **kwargs)]
    @@ -592,7 +606,7 @@ lines_found = filehandle.readlines() block_count -= 1 # return the right number of lines - lines_found = lines_found[-nlines - offset : -offset if offset else None] + lines_found = lines_found[-nlines - offset: -offset if offset else None] if callback: callback(lines_found) return None diff --git a/docs/1.0-dev/_modules/evennia/utils/optionhandler.html b/docs/1.0-dev/_modules/evennia/utils/optionhandler.html index 5cfe5bfe89..d17c39b850 100644 --- a/docs/1.0-dev/_modules/evennia/utils/optionhandler.html +++ b/docs/1.0-dev/_modules/evennia/utils/optionhandler.html @@ -42,6 +42,7 @@

    Source code for evennia.utils.optionhandler

     from evennia.utils.utils import string_partial_matching
     from evennia.utils.containers import OPTION_CLASSES
    +from django.utils.translation import gettext as _
     
     _GA = object.__getattribute__
     _SA = object.__setattr__
    @@ -176,7 +177,7 @@
             """
             if key not in self.options_dict:
                 if raise_error:
    -                raise KeyError("Option not found!")
    +                raise KeyError(_("Option not found!"))
                 return default
             # get the options or load/recache it
             op_found = self.options.get(key) or self._load_option(key)
    @@ -197,12 +198,14 @@
     
             """
             if not key:
    -            raise ValueError("Option field blank!")
    +            raise ValueError(_("Option field blank!"))
             match = string_partial_matching(list(self.options_dict.keys()), key, ret_index=False)
             if not match:
    -            raise ValueError("Option not found!")
    +            raise ValueError(_("Option not found!"))
             if len(match) > 1:
    -            raise ValueError(f"Multiple matches: {', '.join(match)}. Please be more specific.")
    +            raise ValueError(_("Multiple matches:")
    +                             + f"{', '.join(match)}. "
    +                             + _("Please be more specific."))
             match = match[0]
             op = self.get(match, return_obj=True)
             op.set(value, **kwargs)
    diff --git a/docs/1.0-dev/_modules/evennia/utils/search.html b/docs/1.0-dev/_modules/evennia/utils/search.html
    index 1d230da62f..bb8854f451 100644
    --- a/docs/1.0-dev/_modules/evennia/utils/search.html
    +++ b/docs/1.0-dev/_modules/evennia/utils/search.html
    @@ -103,8 +103,7 @@
         from evennia.scripts.models import ScriptDB
         from evennia.comms.models import Msg, ChannelDB
         from evennia.help.models import HelpEntry
    -    from evennia.typeclasses.tags import Tag
    -
    +    from evennia.typeclasses.tags import Tag  # noqa
     
     # -------------------------------------------------------------------
     # Search manager-wrappers
    @@ -285,7 +284,7 @@
     def search_channel_attribute(
         key=None, category=None, value=None, strvalue=None, attrtype=None, **kwargs
     ):
    -    return Channel.objects.get_by_attribute(
    +    return ChannelDB.objects.get_by_attribute(
             key=key, category=category, value=value, strvalue=strvalue, attrtype=attrtype, **kwargs
         )
     
    diff --git a/docs/1.0-dev/_modules/evennia/utils/utils.html b/docs/1.0-dev/_modules/evennia/utils/utils.html
    index 726aee0266..d12a8af634 100644
    --- a/docs/1.0-dev/_modules/evennia/utils/utils.html
    +++ b/docs/1.0-dev/_modules/evennia/utils/utils.html
    @@ -51,7 +51,6 @@
     import os
     import gc
     import sys
    -import copy
     import types
     import math
     import re
    @@ -77,6 +76,7 @@
     from django.apps import apps
     from django.core.validators import validate_email as django_validate_email
     from django.core.exceptions import ValidationError as DjangoValidationError
    +
     from evennia.utils import logger
     
     _MULTIMATCH_TEMPLATE = settings.SEARCH_MULTIMATCH_TEMPLATE
    @@ -246,7 +246,7 @@
             baseline = lines[baseline_index]
             spaceremove = len(baseline) - len(baseline.lstrip(" "))
             return "\n".join(
    -            line[min(spaceremove, len(line) - len(line.lstrip(" "))) :] for line in lines
    +            line[min(spaceremove, len(line) - len(line.lstrip(" "))):] for line in lines
             )
    @@ -385,7 +385,7 @@ cols = [] istart = 0 for irows in nrows: - cols.append(onecol[istart : istart + irows]) + cols.append(onecol[istart: istart + irows]) istart = istart + irows for col in cols: if len(col) < height: @@ -1071,8 +1071,6 @@ return engine == "django.db.backends.%s" % name
    - -
    [docs]def delay(timedelay, callback, *args, **kwargs): """ Delay the calling of a callback (function). @@ -1280,8 +1278,8 @@ except ImportError: errstring += ( "\n ERROR: IRC is enabled, but twisted.words is not installed. Please install it." - "\n Linux Debian/Ubuntu users should install package 'python-twisted-words', others" - "\n can get it from http://twistedmatrix.com/trac/wiki/TwistedWords." + "\n Linux Debian/Ubuntu users should install package 'python-twisted-words', " + "\n others can get it from http://twistedmatrix.com/trac/wiki/TwistedWords." ) not_error = False errstring = errstring.strip() @@ -1953,7 +1951,7 @@ wl = wls[ie] lrow = len(row) - debug = row.replace(" ", ".") + # debug = row.replace(" ", ".") if lrow + wl > width: # this slot extends outside grid, move to next line @@ -2012,8 +2010,6 @@ return _weighted_rows(elements)
    - -
    [docs]def get_evennia_pids(): """ Get the currently valid PIDs (Process IDs) of the Portal and @@ -2262,7 +2258,7 @@ error = "" if not matches: # no results. - error = kwargs.get("nofound_string") or _("Could not find '%s'." % query) + error = kwargs.get("nofound_string") or _("Could not find '{query}'.").format(query=query) matches = None elif len(matches) > 1: multimatch_string = kwargs.get("multimatch_string") @@ -2287,7 +2283,7 @@ name=result.get_display_name(caller) if hasattr(result, "get_display_name") else query, - aliases=" [%s]" % ";".join(aliases) if aliases else "", + aliases=" [{alias}]".format(alias=";".join(aliases) if aliases else ""), info=result.get_extra_info(caller), ) matches = None @@ -2365,7 +2361,7 @@ """ # current working directory, assumed to be somewhere inside gamedir. - for _ in range(10): + for inum in range(10): gpath = os.getcwd() if "server" in os.listdir(gpath): if os.path.isfile(os.path.join("server", "conf", "settings.py")): @@ -2380,16 +2376,16 @@ List available typeclasses from all available modules. Args: - parent (str, optional): If given, only return typeclasses inheriting (at any distance) - from this parent. + parent (str, optional): If given, only return typeclasses inheriting + (at any distance) from this parent. Returns: dict: On the form `{"typeclass.path": typeclass, ...}` Notes: - This will dynamically retrieve all abstract django models inheriting at any distance - from the TypedObject base (aka a Typeclass) so it will work fine with any custom - classes being added. + This will dynamically retrieve all abstract django models inheriting at + any distance from the TypedObject base (aka a Typeclass) so it will + work fine with any custom classes being added. """ from evennia.typeclasses.models import TypedObject @@ -2408,6 +2404,34 @@ return typeclasses
    +
    [docs]def get_all_cmdsets(parent=None): + """ + List available cmdsets from all available modules. + + Args: + parent (str, optional): If given, only return cmdsets inheriting (at + any distance) from this parent. + + Returns: + dict: On the form {"cmdset.path": cmdset, ...} + + Notes: + This will dynamically retrieve all abstract django models inheriting at + any distance from the CmdSet base so it will work fine with any custom + classes being added. + + """ + from evennia.commands.cmdset import CmdSet + + base_cmdset = class_from_module(parent) if parent else CmdSet + + cmdsets = { + "{}.{}".format(subclass.__module__, subclass.__name__): subclass + for subclass in base_cmdset.__subclasses__() + } + return cmdsets
    + +
    [docs]def interactive(func): """ Decorator to make a method pausable with `yield(seconds)` diff --git a/docs/1.0-dev/_modules/evennia/utils/validatorfuncs.html b/docs/1.0-dev/_modules/evennia/utils/validatorfuncs.html index 5e9d7181a6..c5f03d293a 100644 --- a/docs/1.0-dev/_modules/evennia/utils/validatorfuncs.html +++ b/docs/1.0-dev/_modules/evennia/utils/validatorfuncs.html @@ -64,18 +64,20 @@ try: return str(entry) except Exception as err: - raise ValueError(f"Input could not be converted to text ({err})")
    + raise ValueError(_("Input could not be converted to text ({err})").format(err=err))
    [docs]def color(entry, option_key="Color", **kwargs): """ The color should be just a color character, so 'r' if red color is desired. + """ if not entry: - raise ValueError(f"Nothing entered for a {option_key}!") + raise ValueError(_("Nothing entered for a {option_key}!").format(option_key=option_key)) test_str = strip_ansi(f"|{entry}|n") if test_str: - raise ValueError(f"'{entry}' is not a valid {option_key}.") + raise ValueError(_("'{entry}' is not a valid {option_key}.").format( + entry=entry, option_key=option_key)) return entry
    @@ -125,13 +127,17 @@ entry = f"{split_time[0]} {split_time[1]} {split_time[2]} {split_time[3]}" else: raise ValueError( - f"{option_key} must be entered in a 24-hour format such as: {now.strftime('%b %d %H:%M')}" + _("{option_key} must be entered in a 24-hour format such as: {timeformat}").format( + option_key=option_key, + timeformat=now.strftime('%b %d %H:%M')) ) try: local = _dt.datetime.strptime(entry, "%b %d %H:%M %Y") except ValueError: raise ValueError( - f"{option_key} must be entered in a 24-hour format such as: {now.strftime('%b %d %H:%M')}" + _("{option_key} must be entered in a 24-hour format such as: {timeformat}").format( + option_key=option_key, + timeformat=now.strftime('%b %d %H:%M')) ) local_tz = from_tz.localize(local) return local_tz.astimezone(utc)
    @@ -142,8 +148,9 @@ Take a string and derive a datetime timedelta from it. Args: - entry (string): This is a string from user-input. The intended format is, for example: "5d 2w 90s" for - 'five days, two weeks, and ninety seconds.' Invalid sections are ignored. + entry (string): This is a string from user-input. The intended format is, for example: + "5d 2w 90s" for 'five days, two weeks, and ninety seconds.' Invalid sections are + ignored. option_key (str): Name to display this query as. Returns: @@ -171,7 +178,10 @@ elif _re.match(r"^[\d]+y$", interval): days += int(interval.rstrip("y")) * 365 else: - raise ValueError(f"Could not convert section '{interval}' to a {option_key}.") + raise ValueError( + _("Could not convert section '{interval}' to a {option_key}.").format( + interval=interval, option_key=option_key) + ) return _dt.timedelta(days, seconds, 0, 0, minutes, hours, weeks)
    @@ -179,45 +189,56 @@
    [docs]def future(entry, option_key="Future Datetime", from_tz=None, **kwargs): time = datetime(entry, option_key, from_tz=from_tz) if time < _dt.datetime.utcnow().replace(tzinfo=_dt.timezone.utc): - raise ValueError(f"That {option_key} is in the past! Must give a Future datetime!") + raise ValueError(_("That {option_key} is in the past! Must give a Future datetime!").format( + option_key=option_key)) return time
    [docs]def signed_integer(entry, option_key="Signed Integer", **kwargs): if not entry: - raise ValueError(f"Must enter a whole number for {option_key}!") + raise ValueError(_("Must enter a whole number for {option_key}!").format( + option_key=option_key)) try: num = int(entry) except ValueError: - raise ValueError(f"Could not convert '{entry}' to a whole number for {option_key}!") + raise ValueError(_("Could not convert '{entry}' to a whole " + "number for {option_key}!").format( + entry=entry, option_key=option_key)) return num
    [docs]def positive_integer(entry, option_key="Positive Integer", **kwargs): num = signed_integer(entry, option_key) if not num >= 1: - raise ValueError(f"Must enter a whole number greater than 0 for {option_key}!") + raise ValueError(_("Must enter a whole number greater than 0 for {option_key}!").format( + option_key=option_key)) return num
    [docs]def unsigned_integer(entry, option_key="Unsigned Integer", **kwargs): num = signed_integer(entry, option_key) if not num >= 0: - raise ValueError(f"{option_key} must be a whole number greater than or equal to 0!") + raise ValueError(_("{option_key} must be a whole number greater than " + "or equal to 0!").format( + option_key=option_key)) return num
    [docs]def boolean(entry, option_key="True/False", **kwargs): """ Simplest check in computer logic, right? This will take user input to flick the switch on or off + Args: entry (str): A value such as True, On, Enabled, Disabled, False, 0, or 1. option_key (str): What kind of Boolean we are setting. What Option is this for? Returns: Boolean + """ - error = f"Must enter 0 (false) or 1 (true) for {option_key}. Also accepts True, False, On, Off, Yes, No, Enabled, and Disabled" + error = (_("Must enter a true/false input for {option_key}. Accepts {alternatives}.").format( + option_key=option_key, + alternatives="0/1, True/False, On/Off, Yes/No, Enabled/Disabled")) if not isinstance(entry, str): raise ValueError(error) entry = entry.upper() @@ -238,41 +259,44 @@ Returns: A PYTZ timezone. + """ if not entry: - raise ValueError(f"No {option_key} entered!") + raise ValueError(_("No {option_key} entered!").format(option_key=option_key)) found = _partial(list(_TZ_DICT.keys()), entry, ret_index=False) if len(found) > 1: raise ValueError( - f"That matched: {', '.join(str(t) for t in found)}. Please be more specific!" - ) + _("That matched: {matches}. Please be more specific!").format( + matches=', '.join(str(t) for t in found))) if found: return _TZ_DICT[found[0]] - raise ValueError(f"Could not find timezone '{entry}' for {option_key}!")
    + raise ValueError(_("Could not find timezone '{entry}' for {option_key}!").format( + entry=entry, option_key=option_key))
    [docs]def email(entry, option_key="Email Address", **kwargs): if not entry: - raise ValueError("Email address field empty!") + raise ValueError(_("Email address field empty!")) valid = validate_email_address(entry) if not valid: - raise ValueError(f"That isn't a valid {option_key}!") + raise ValueError(_("That isn't a valid {option_key}!").format(option_key=option_key)) return entry
    [docs]def lock(entry, option_key="locks", access_options=None, **kwargs): entry = entry.strip() if not entry: - raise ValueError(f"No {option_key} entered to set!") + raise ValueError(_("No {option_key} entered to set!").format(option_key=option_key)) for locksetting in entry.split(";"): access_type, lockfunc = locksetting.split(":", 1) if not access_type: - raise ValueError("Must enter an access type!") + raise ValueError(_("Must enter an access type!")) if access_options: if access_type not in access_options: - raise ValueError(f"Access type must be one of: {', '.join(access_options)}") + raise ValueError(_("Access type must be one of: {alternatives}").format( + alternatives=', '.join(access_options))) if not lockfunc: - raise ValueError("Lock func not entered.") + raise ValueError(_("Lock func not entered.")) return entry
    diff --git a/docs/1.0-dev/_modules/evennia/accounts/admin.html b/docs/1.0-dev/_modules/evennia/web/admin/accounts.html similarity index 53% rename from docs/1.0-dev/_modules/evennia/accounts/admin.html rename to docs/1.0-dev/_modules/evennia/web/admin/accounts.html index 7e8e047458..64298cd297 100644 --- a/docs/1.0-dev/_modules/evennia/accounts/admin.html +++ b/docs/1.0-dev/_modules/evennia/web/admin/accounts.html @@ -5,31 +5,31 @@ - evennia.accounts.admin — Evennia 1.0-dev documentation - - - - - - - - - - + evennia.web.admin.accounts — Evennia 1.0-dev documentation + + + + + + + + + + @@ -39,16 +39,19 @@
    -

    Source code for evennia.accounts.admin

    +  

    Source code for evennia.web.admin.accounts

     #
     # This sets up how models are displayed
     # in the web admin interface.
     #
     from django import forms
    +from django.utils.safestring import mark_safe
     from django.conf import settings
     from django.contrib import admin, messages
     from django.contrib.admin.options import IS_POPUP_VAR
    +from django.contrib.admin.widgets import ForeignKeyRawIdWidget, FilteredSelectMultiple
     from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
    +from django.utils.translation import gettext as _
     from django.contrib.auth.forms import UserChangeForm, UserCreationForm
     from django.contrib.admin.utils import unquote
     from django.template.response import TemplateResponse
    @@ -60,21 +63,24 @@
     from django.urls import path, reverse
     from django.contrib.auth import update_session_auth_hash
     
    +from evennia.objects.models import ObjectDB
     from evennia.accounts.models import AccountDB
    -from evennia.typeclasses.admin import AttributeInline, TagInline
     from evennia.utils import create
    +from .attributes import AttributeInline
    +from .tags import TagInline
    +from . import utils as adminutils
     
     sensitive_post_parameters_m = method_decorator(sensitive_post_parameters())
     
     
     # handle the custom User editor
    -
    [docs]class AccountDBChangeForm(UserChangeForm): +
    [docs]class AccountChangeForm(UserChangeForm): """ Modify the accountdb class. """ -
    [docs] class Meta(object): +
    [docs] class Meta(object): model = AccountDB fields = "__all__"
    @@ -90,7 +96,40 @@ help_text="30 characters or fewer. Letters, spaces, digits and " "@/./+/-/_ only.", ) -
    [docs] def clean_username(self): + db_typeclass_path = forms.ChoiceField( + label="Typeclass", + help_text="This is the Python-path to the class implementing the actual account functionality. " + "You usually don't need to change this from the default.<BR>" + "If your custom class is not found here, it may not be imported as part of Evennia's startup.", + choices=adminutils.get_and_load_typeclasses(parent=AccountDB), + ) + + db_lock_storage = forms.CharField( + label="Locks", + required=False, + widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}), + help_text="Locks limit access to the entity. Written on form `type:lockdef;type:lockdef..." + "<BR>(Permissions (used with the perm() lockfunc) are Tags with the 'permission' type)", + ) + + db_cmdset_storage = forms.CharField( + label="CommandSet", + initial=settings.CMDSET_ACCOUNT, + widget=forms.TextInput(attrs={"size": "78"}), + required=False, + ) + + is_superuser = forms.BooleanField( + label = "Superuser status", + required=False, + help_text="Superusers bypass all in-game locks and has all " + "permissions without explicitly assigning them. Usually " + "only one superuser (user #1) is needed and only a superuser " + "can create another superuser.<BR>" + "Only Superusers can change the user/group permissions below." + ) + +
    [docs] def clean_username(self): """ Clean the username and check its existence. @@ -100,15 +139,30 @@ return username elif AccountDB.objects.filter(username__iexact=username): raise forms.ValidationError("An account with that name " "already exists.") - return self.cleaned_data["username"]
    + return self.cleaned_data["username"]
    + +
    [docs] def __init__(self, *args, **kwargs): + """ + Tweak some fields dynamically. + + """ + super().__init__(*args, **kwargs) + + # better help text for cmdset_storage + account_cmdset = settings.CMDSET_ACCOUNT + self.fields["db_cmdset_storage"].help_text = ( + "Path to Command-set path. Most non-character objects don't need a cmdset" + " and can leave this field blank. Default cmdset-path<BR> for Accounts " + f"is <strong>{account_cmdset}</strong> ." + )
    -
    [docs]class AccountDBCreationForm(UserCreationForm): +
    [docs]class AccountCreationForm(UserCreationForm): """ Create a new AccountDB instance. """ -
    [docs] class Meta(object): +
    [docs] class Meta(object): model = AccountDB fields = "__all__"
    @@ -124,7 +178,7 @@ help_text="30 characters or fewer. Letters, spaces, digits and " "@/./+/-/_ only.", ) -
    [docs] def clean_username(self): +
    [docs] def clean_username(self): """ Cleanup username. """ @@ -134,108 +188,7 @@ return username
    -
    [docs]class AccountForm(forms.ModelForm): - """ - Defines how to display Accounts - - """ - -
    [docs] class Meta(object): - model = AccountDB - fields = "__all__" - app_label = "accounts"
    - - db_key = forms.RegexField( - label="Username", - initial="AccountDummy", - max_length=30, - regex=r"^[\w. @+-]+$", - required=False, - widget=forms.TextInput(attrs={"size": "30"}), - error_messages={ - "invalid": "This value may contain only letters, spaces, numbers" - " and @/./+/-/_ characters." - }, - help_text="This should be the same as the connected Account's key " - "name. 30 characters or fewer. Letters, spaces, digits and " - "@/./+/-/_ only.", - ) - - db_typeclass_path = forms.CharField( - label="Typeclass", - initial=settings.BASE_ACCOUNT_TYPECLASS, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="Required. Defines what 'type' of entity this is. This " - "variable holds a Python path to a module with a valid " - "Evennia Typeclass. Defaults to " - "settings.BASE_ACCOUNT_TYPECLASS.", - ) - - db_permissions = forms.CharField( - label="Permissions", - initial=settings.PERMISSION_ACCOUNT_DEFAULT, - required=False, - widget=forms.TextInput(attrs={"size": "78"}), - help_text="In-game permissions. A comma-separated list of text " - "strings checked by certain locks. They are often used for " - "hierarchies, such as letting an Account have permission " - "'Admin', 'Builder' etc. An Account permission can be " - "overloaded by the permissions of a controlled Character. " - "Normal accounts use 'Accounts' by default.", - ) - - db_lock_storage = forms.CharField( - label="Locks", - widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}), - required=False, - help_text="In-game lock definition string. If not given, defaults " - "will be used. This string should be on the form " - "<i>type:lockfunction(args);type2:lockfunction2(args);...", - ) - db_cmdset_storage = forms.CharField( - label="cmdset", - initial=settings.CMDSET_ACCOUNT, - widget=forms.TextInput(attrs={"size": "78"}), - required=False, - help_text="python path to account cmdset class (set in " - "settings.CMDSET_ACCOUNT by default)", - )
    - - -
    [docs]class AccountInline(admin.StackedInline): - """ - Inline creation of Account - - """ - - model = AccountDB - template = "admin/accounts/stacked.html" - form = AccountForm - fieldsets = ( - ( - "In-game Permissions and Locks", - { - "fields": ("db_lock_storage",), - # {'fields': ('db_permissions', 'db_lock_storage'), - "description": "<i>These are permissions/locks for in-game use. " - "They are unrelated to website access rights.</i>", - }, - ), - ( - "In-game Account data", - { - "fields": ("db_typeclass_path", "db_cmdset_storage"), - "description": "<i>These fields define in-game-specific properties " - "for the Account object in-game.</i>", - }, - ), - ) - - extra = 1 - max_num = 1
    - - -
    [docs]class AccountTagInline(TagInline): +
    [docs]class AccountTagInline(TagInline): """ Inline Account Tags. @@ -245,7 +198,7 @@ related_field = "accountdb"
    -
    [docs]class AccountAttributeInline(AttributeInline): +
    [docs]class AccountAttributeInline(AttributeInline): """ Inline Account Attributes. @@ -254,55 +207,98 @@ model = AccountDB.db_attributes.through related_field = "accountdb"
    +
    [docs]class ObjectPuppetInline(admin.StackedInline): + """ + Inline creation of puppet-Object in Account. -
    [docs]class AccountDBAdmin(BaseUserAdmin): + """ + from .objects import ObjectCreateForm + + verbose_name = "Puppeted Object" + model = ObjectDB + view_on_site = False + show_change_link = True + # template = "admin/accounts/stacked.html" + form = ObjectCreateForm + fieldsets = ( + ( + None, + { + "fields": ( + ("db_key", "db_typeclass_path"), + ("db_location", "db_home", "db_destination"), + "db_cmdset_storage", + "db_lock_storage", + ), + "description": "Object currently puppeted by the account (note that this " + "will go away if account logs out or unpuppets)", + }, + ), + ) + + extra = 0 + readonly_fields = ("db_key", "db_typeclass_path", "db_destination", + "db_location", "db_home", "db_account", + "db_cmdset_storage", "db_lock_storage") + + # disable adding/deleting this inline - read-only! +
    [docs] def has_add_permission(self, request, obj=None): + return False
    + +
    [docs] def has_delete_permission(self, request, obj=None): + return False
    + + +
    [docs]@admin.register(AccountDB) +class AccountAdmin(BaseUserAdmin): """ This is the main creation screen for Users/accounts """ - - list_display = ("username", "email", "is_staff", "is_superuser") - form = AccountDBChangeForm - add_form = AccountDBCreationForm + list_display = ("id", "username", "is_staff", "is_superuser", "db_typeclass_path", "db_date_created") + list_display_links = ("id", "username") + form = AccountChangeForm + add_form = AccountCreationForm + search_fields = ["=id", "^username", "db_typeclass_path"] + ordering = ["-db_date_created", "id"] + list_filter = ["is_superuser", "is_staff", "db_typeclass_path"] inlines = [AccountTagInline, AccountAttributeInline] + readonly_fields = ["db_date_created", "serialized_string", "puppeted_objects"] + view_on_site = False fieldsets = ( - (None, {"fields": ("username", "password", "email")}), ( - "Website profile", + None, { - "fields": ("first_name", "last_name"), - "description": "<i>These are not used " "in the default system.</i>", + "fields": ( + ("username", "db_typeclass_path"), + "password", + "email", + "db_date_created", + "db_lock_storage", + "db_cmdset_storage", + "puppeted_objects", + "serialized_string", + ) }, ), ( - "Website dates", + "Admin/Website properties", { - "fields": ("last_login", "date_joined"), - "description": "<i>Relevant only to the website.</i>", - }, - ), - ( - "Website Permissions", - { - "fields": ("is_active", "is_staff", "is_superuser", "user_permissions", "groups"), - "description": "<i>These are permissions/permission groups for " - "accessing the admin site. They are unrelated to " - "in-game access rights.</i>", - }, - ), - ( - "Game Options", - { - "fields": ("db_typeclass_path", "db_cmdset_storage", "db_lock_storage"), - "description": "<i>These are attributes that are more relevant " "to gameplay.</i>", + "fields": ( + ("first_name", "last_name"), + "last_login", + "date_joined", + "is_active", + "is_staff", + "is_superuser", + "user_permissions", + "groups", + ), + "description": "<i>Used by the website/Django admin. " + "Except for `superuser status`, the permissions are not used in-game.</i>", }, ), ) - # ('Game Options', {'fields': ( - # 'db_typeclass_path', 'db_cmdset_storage', - # 'db_permissions', 'db_lock_storage'), - # 'description': '<i>These are attributes that are ' - # 'more relevant to gameplay.</i>'})) add_fieldsets = ( ( @@ -315,7 +311,62 @@ ), ) -
    [docs] @sensitive_post_parameters_m +
    [docs] def serialized_string(self, obj): + """ + Get the serialized version of the object. + + """ + from evennia.utils import dbserialize + + return str(dbserialize.pack_dbobj(obj))
    + serialized_string.help_text = ( + "Copy & paste this string into an Attribute's `value` field to store it there." + ) + +
    [docs] def puppeted_objects(self, obj): + """ + Get any currently puppeted objects (read only list) + + """ + return mark_safe( + ", ".join( + '<a href="{url}">{name}</a>'.format( + url=reverse("admin:objects_objectdb_change", args=[obj.id]), + name=obj.db_key) + for obj in ObjectDB.objects.filter(db_account=obj) + ) + )
    + + puppeted_objects.help_text = ( + "Objects currently puppeted by this Account. " + "Link new ones from the `Objects` admin page.<BR>" + "Note that these will disappear when a user unpuppets or goes offline - " + "this is normal." + ) + +
    [docs] def get_form(self, request, obj=None, **kwargs): + """ + Overrides help texts. + + """ + help_texts = kwargs.get("help_texts", {}) + help_texts["serialized_string"] = self.serialized_string.help_text + help_texts["puppeted_objects"] = self.puppeted_objects.help_text + kwargs["help_texts"] = help_texts + + # security disabling for non-superusers + form = super().get_form(request, obj, **kwargs) + disabled_fields = set() + if not request.user.is_superuser: + disabled_fields |= { + 'is_superuser', 'user_permissions', 'user_groups' + } + for field_name in disabled_fields: + if field_name in form.base_fields: + form.base_fields[field_name].disabled = True + return form
    + +
    [docs] @sensitive_post_parameters_m def user_change_password(self, request, id, form_url=""): user = self.get_object(request, unquote(id)) if not self.has_change_permission(request, user): @@ -379,7 +430,7 @@ context, )
    -
    [docs] def save_model(self, request, obj, form, change): +
    [docs] def save_model(self, request, obj, form, change): """ Custom save actions. @@ -397,14 +448,11 @@ obj.basetype_setup() obj.at_account_creation()
    -
    [docs] def response_add(self, request, obj, post_url_continue=None): +
    [docs] def response_add(self, request, obj, post_url_continue=None): from django.http import HttpResponseRedirect from django.urls import reverse return HttpResponseRedirect(reverse("admin:accounts_accountdb_change", args=[obj.id]))
    - - -admin.site.register(AccountDB, AccountDBAdmin)
    @@ -413,13 +461,13 @@