From d18e95dd43f7b9e126791bf4e8d1c7449f77f895 Mon Sep 17 00:00:00 2001 From: Tim Goode <68455040+telimektar3@users.noreply.github.com> Date: Thu, 3 Feb 2022 11:08:10 -0500 Subject: [PATCH 01/15] Made simple grammar and spelling changes. --- docs/README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/README.md b/docs/README.md index 2a9b3e6a01..bafd3def40 100644 --- a/docs/README.md +++ b/docs/README.md @@ -10,7 +10,7 @@ The live documentation is (will in the future be) available at `https://evennia. # Editing the docs The documentation source files are `*.md` (Markdown) files found in `evennia/docs/source/`. -Markdown files are simple text files that can be edited with a normal text editor. They primaroly use +Markdown files are simple text files that can be edited with a normal text editor. They primarily use the [Markdown][commonmark] syntax. See [the syntax section below](#Editing-syntax) for more help. Don't edit the files in `source/api/`. These are auto-generated and your changes @@ -18,7 +18,7 @@ will be lost. ## Contributing -Contributing to the docs is is like [contributing to the rest of Evennia][contributing]: +Contributing to the docs is like [contributing to the rest of Evennia][contributing]: Check out the branch of Evennia you want to edit the documentation for. Create your own work-branch, make your changes to files in `evennia/docs/source/` and make a PR for it! @@ -66,7 +66,7 @@ All is done in your terminal/console. The full documentation includes both the doc pages and the API documentation generated from the Evennia source. For this you must install Evennia and initialize a new game with a default database (you don't need to have it -running) +running). - Follow the normal [Evennia Getting-Started instructions][getting-started] to install Evennia. Use a virtualenv. @@ -79,7 +79,7 @@ repo with ``` - Then `cd` into it and create a new, empty database. You don't need to start the game - or do any further changes. + or make any further changes. ``` evennia migrate @@ -104,7 +104,7 @@ repo with pip install -r requirements.txt ``` -- Finally, build the full documentation, including the auto-docs: +- Finally, build the full documentation including the auto-docs: ``` make local @@ -274,7 +274,7 @@ The Evennia documentation supports some special reference shortcuts in links: This will generate a link to https://github.com/evennia/evennia/issues/new/choose. - > For some reason these particular shortcuts gives a warning during documentation compilation. This + > For some reason these particular shortcuts give a warning during documentation compilation. This warning > can be ignored. ## Verbatim text @@ -304,7 +304,7 @@ Everything within these backticks will be verbatim. ## Code blocks -A special case is code examples - we want them to get code-highlighting for readability. This is done by using +Code examples are a special case - we want them to get code-highlighting for readability. This is done by using the triple-backticks and specify which language we use: ```` @@ -318,10 +318,9 @@ def a_python_func(x): ## ReST blocks -Markdown is easy to read and use. But while it does most of what we need, there are some things it's -not quite as expressive as it needs to be. For this we need to fall back to the [ReST][ReST] markup -language which the documentation system uses under the hood. This is done by specifying `eval_rst` as -the name of the `language` of a literal block: +Markdown is easy to read and use, but it isn't as expressive as it needs to be for some things. For this we +need to fall back to the [ReST][ReST] markup language which the documentation system uses under the hood. This is +done by specifying `eval_rst` as the name of the `language` of a literal block: ```` ```eval_rst From e3c5b468499ac991cca88855f8f287c3cf604d9d Mon Sep 17 00:00:00 2001 From: Christopher League Date: Wed, 2 Mar 2022 13:20:58 -0500 Subject: [PATCH 02/15] Add tests to cover all 3 cases of CmdHome --- evennia/commands/default/tests.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index c7a57c6ba9..aa0cbf1f23 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -184,6 +184,14 @@ class TestGeneral(CommandTest): def test_home(self): self.call(general.CmdHome(), "", "You are already home") + def test_go_home(self): + self.call(building.CmdTeleport(), "/quiet Room2") + self.call(general.CmdHome(), "", "There's no place like home") + + def test_no_home(self): + self.char1.home = None + self.call(general.CmdHome(), "", "You have no home") + def test_inventory(self): self.call(general.CmdInventory(), "", "You are not carrying anything.") From b55561afa0c2010d96450d2e246aabf6ec6d3603 Mon Sep 17 00:00:00 2001 From: Christopher League Date: Mon, 4 Apr 2022 15:37:29 -0400 Subject: [PATCH 03/15] Improve coverage of commands "look" and "nick" --- evennia/commands/default/tests.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index aa0cbf1f23..b6e18353a2 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -181,6 +181,13 @@ class TestGeneral(CommandTest): rid = self.room1.id self.call(general.CmdLook(), "here", "Room(#{})\nroom_desc".format(rid)) + def test_look_no_location(self): + self.char1.location = None + self.call(general.CmdLook(), "", "You have no location to look at!") + + def test_look_nonexisting(self): + self.call(general.CmdLook(), "yellow sign", "Could not find 'yellow sign'.") + def test_home(self): self.call(general.CmdHome(), "", "You are already home") @@ -221,6 +228,12 @@ class TestGeneral(CommandTest): self.assertEqual(None, self.char1.account.nicks.get("testalias", category="account")) self.assertEqual("testaliasedstring3", self.char1.nicks.get("testalias", category="object")) + def test_nick_list(self): + self.call(general.CmdNick(), "/list", "No nicks defined.") + self.call(general.CmdNick(), "test1 = Hello", + "Inputline-nick 'test1' mapped to 'Hello'.") + self.call(general.CmdNick(), "/list", "Defined Nicks:") + def test_get_and_drop(self): self.call(general.CmdGet(), "Obj", "You pick up Obj.") self.call(general.CmdDrop(), "Obj", "You drop Obj.") From bf9b01cb076d23bfe4e47cdd076fd2fd7c06af62 Mon Sep 17 00:00:00 2001 From: KieranSmith-Res <93326079+KieranSmith-Res@users.noreply.github.com> Date: Mon, 9 May 2022 07:04:53 +0100 Subject: [PATCH 04/15] Update Links.md Add link to Designing Virtual Worlds PDF --- docs/source/Links.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/source/Links.md b/docs/source/Links.md index 21a73992ab..c50986ab01 100644 --- a/docs/source/Links.md +++ b/docs/source/Links.md @@ -124,6 +124,8 @@ when designing a virtual multiplayer world (Raph is known for *Ultima Online* am - Richard Bartle *Designing Virtual Worlds* ([amazon page](http://www.amazon.com/Designing-Virtual-Worlds-Richard-Bartle/dp/0131018167)) - Essential reading for the design of any persistent game world, written by the co-creator of the original game *MUD*. Published in 2003 but it's still as relevant now as when it came out. Covers everything you need to know and then some. + + When the rights to Designing Virtual Worlds returned to him, Richard Bartle made the PDF of his Designing Virtual Worlds freely available through his own website ([Richard Bartle](https://mud.co.uk/dvw/)). A direct link to the PDF can be found ([here](https://mud.co.uk/richard/DesigningVirtualWorlds.pdf)). - Zed A. Shaw *Learn Python the Hard way* ([homepage](https://learnpythonthehardway.org/)) - Despite the imposing name this book is for the absolute Python/programming beginner. One learns the language by gradually creating a small text game! It has been used by multiple users before moving on to From 917b2410d6a3bc91ff9ba43134273364cdd7d450 Mon Sep 17 00:00:00 2001 From: KieranSmith-Res <93326079+KieranSmith-Res@users.noreply.github.com> Date: Mon, 9 May 2022 07:05:42 +0100 Subject: [PATCH 05/15] Update Links.md Update website link to DVW --- docs/source/Links.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/Links.md b/docs/source/Links.md index c50986ab01..cbd29079bc 100644 --- a/docs/source/Links.md +++ b/docs/source/Links.md @@ -125,7 +125,7 @@ when designing a virtual multiplayer world (Raph is known for *Ultima Online* am world, written by the co-creator of the original game *MUD*. Published in 2003 but it's still as relevant now as when it came out. Covers everything you need to know and then some. - When the rights to Designing Virtual Worlds returned to him, Richard Bartle made the PDF of his Designing Virtual Worlds freely available through his own website ([Richard Bartle](https://mud.co.uk/dvw/)). A direct link to the PDF can be found ([here](https://mud.co.uk/richard/DesigningVirtualWorlds.pdf)). + When the rights to Designing Virtual Worlds returned to him, Richard Bartle made the PDF of his Designing Virtual Worlds freely available through his own website ([Designing Virtual Worlds](https://mud.co.uk/dvw/)). A direct link to the PDF can be found [here](https://mud.co.uk/richard/DesigningVirtualWorlds.pdf). - Zed A. Shaw *Learn Python the Hard way* ([homepage](https://learnpythonthehardway.org/)) - Despite the imposing name this book is for the absolute Python/programming beginner. One learns the language by gradually creating a small text game! It has been used by multiple users before moving on to From 33a63f31ce7f80b7f7965f953b99a21dc43dfac4 Mon Sep 17 00:00:00 2001 From: Bruno Briante Date: Wed, 1 Jun 2022 22:29:12 -0300 Subject: [PATCH 06/15] fix google style URL on CODING_STYLE.md --- CODING_STYLE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODING_STYLE.md b/CODING_STYLE.md index 79b6a2c674..80e8ac595c 100644 --- a/CODING_STYLE.md +++ b/CODING_STYLE.md @@ -199,7 +199,7 @@ or in the chat. [pep8]: http://www.python.org/dev/peps/pep-0008 [pep8tool]: https://pypi.python.org/pypi/pep8 -[googlestyle]: http://www.sphinx-doc.org/en/stable/ext/example_google.html +[googlestyle]: https://www.sphinx-doc.org/en/master/usage/extensions/example_google.html [githubmarkdown]: https://help.github.com/articles/github-flavored-markdown/ [markdown-hilight]: https://help.github.com/articles/github-flavored-markdown/#syntax-highlighting [command-docstrings]: https://github.com/evennia/evennia/wiki/Using%20MUX%20As%20a%20Standard#documentation-policy From 5c64a5898c0a5431d31a9b37b9aa6960ff187761 Mon Sep 17 00:00:00 2001 From: avalonhope <96471977+avalonhope@users.noreply.github.com> Date: Fri, 10 Jun 2022 12:18:44 +0100 Subject: [PATCH 07/15] Update link to discussion forum Old link pointed to Google groups; replaced with direct link to GitHub discussions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73bb35181c..c58b35f5ec 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,6 @@ Welcome! [coverlink]: https://coveralls.io/github/evennia/evennia?branch=master [introduction]: https://github.com/evennia/evennia/wiki/Evennia-Introduction [license]: https://github.com/evennia/evennia/wiki/Licensing -[group]: https://groups.google.com/forum/#!forum/evennia +[group]: https://github.com/evennia/evennia/discussions [chat]: http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb [wikimudpage]: http://en.wikipedia.org/wiki/MUD From 041a9ec5637f365d2a7b07eab24a451f96ee4031 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 12 Jun 2022 01:00:14 +0200 Subject: [PATCH 08/15] More updates to readme --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 73bb35181c..9b32773135 100644 --- a/README.md +++ b/README.md @@ -60,22 +60,22 @@ introduction][introduction] to read. To learn how to get your hands on the code base, the [Getting started][gettingstarted] page is the way to go. Otherwise you could -browse the [Documentation][wiki] or why not come join the [Evennia +browse the [Documentation][docs] or why not come join the [Evennia Community forum][group] or join us in our [development chat][chat]. Welcome! -[homepage]: http://www.evennia.com -[gettingstarted]: http://github.com/evennia/evennia/wiki/Getting-Started -[wiki]: https://github.com/evennia/evennia/wiki +[homepage]: https://www.evennia.com +[gettingstarted]: https://www.evennia.com/docs/latest/Getting-Started.html +[docs]: https://www.evennia.com/docs/latest [screenshot]: https://user-images.githubusercontent.com/294267/30773728-ea45afb6-a076-11e7-8820-49be2168a6b8.png [logo]: https://github.com/evennia/evennia/blob/master/evennia/web/website/static/website/images/evennia_logo.png [unittestciimg]: https://github.com/evennia/evennia/workflows/test-suite/badge.svg [unittestcilink]: https://github.com/evennia/evennia/actions?query=workflow%3Atest-suite [coverimg]: https://coveralls.io/repos/github/evennia/evennia/badge.svg?branch=master [coverlink]: https://coveralls.io/github/evennia/evennia?branch=master -[introduction]: https://github.com/evennia/evennia/wiki/Evennia-Introduction -[license]: https://github.com/evennia/evennia/wiki/Licensing -[group]: https://groups.google.com/forum/#!forum/evennia -[chat]: http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb +[introduction]: https://www.evennia.com/docs/latest/Evennia-Introduction.html +[license]: https://www.evennia.com/docs/latest/Licensing.html +[group]: https://github.com/evennia/evennia/discussions +[chat]: https://discord.gg/AJJpcRUhtF [wikimudpage]: http://en.wikipedia.org/wiki/MUD From a48869845e8a56c2cf37531a99450e80a209591e Mon Sep 17 00:00:00 2001 From: "Cory F. Cohen" Date: Tue, 21 Jun 2022 21:07:11 -0400 Subject: [PATCH 09/15] Fix various typos in several files. All are in comments and docstrings, and none should be controversial in any way (e.g. British versus American spelling). --- evennia/accounts/accounts.py | 10 +++++----- evennia/commands/default/building.py | 6 +++--- evennia/commands/default/comms.py | 2 +- evennia/commands/default/help.py | 2 +- evennia/game_template/world/README.md | 2 +- evennia/game_template/world/prototypes.py | 4 ++-- evennia/server/sessionhandler.py | 4 ++-- evennia/utils/evmore.py | 4 ++-- evennia/utils/utils.py | 14 +++++++------- 9 files changed, 24 insertions(+), 24 deletions(-) diff --git a/evennia/accounts/accounts.py b/evennia/accounts/accounts.py index a6d9fbefd8..ae4839a792 100644 --- a/evennia/accounts/accounts.py +++ b/evennia/accounts/accounts.py @@ -660,7 +660,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase): typeclass (str, optional): Typeclass to use for this character. If not given, use settings.BASE_CHARACTER_TYPECLASS. permissions (list, optional): If not given, use the account's permissions. - ip (str, optiona): The client IP creating this character. Will fall back to the + ip (str, optional): The client IP creating this character. Will fall back to the one stored for the account if not given. kwargs (any): Other kwargs will be used in the create_call. Returns: @@ -927,7 +927,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase): kwargs (any): Other keyword arguments will be added to the found command object instance as variables before it executes. This is unused by default Evennia but may be - used to set flags and change operating paramaters for + used to set flags and change operating parameters for commands at run-time. """ @@ -1307,7 +1307,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase): self._send_to_connect_channel(_("|G{key} connected|n").format(key=self.key)) if _MULTISESSION_MODE == 0: # in this mode we should have only one character available. We - # try to auto-connect to our last conneted object, if any + # try to auto-connect to our last connected object, if any try: self.puppet_object(session, self.db._last_puppet) except RuntimeError: @@ -1334,7 +1334,7 @@ class DefaultAccount(AccountDB, metaclass=TypeclassBase): """ Called by the login process if a user account is targeted correctly but provided with an invalid password. By default it does nothing, - but exists to be overriden. + but exists to be overridden. Args: session (session): Session logging in. @@ -1574,7 +1574,7 @@ class DefaultGuest(DefaultAccount): Gets or creates a Guest account object. Keyword Args: - ip (str, optional): IP address of requestor; used for ban checking, + ip (str, optional): IP address of requester; used for ban checking, throttling and logging Returns: diff --git a/evennia/commands/default/building.py b/evennia/commands/default/building.py index 41ef42024d..52ea53e700 100644 --- a/evennia/commands/default/building.py +++ b/evennia/commands/default/building.py @@ -1061,7 +1061,7 @@ class CmdTunnel(COMMAND_DEFAULT_CLASS): exitname, backshort = self.directions[exitshort] backname = self.directions[backshort][0] - # if we recieved a typeclass for the exit, add it to the alias(short name) + # if we received a typeclass for the exit, add it to the alias(short name) if ":" in self.lhs: # limit to only the first : character exit_typeclass = ":" + self.lhs.split(":", 1)[-1] @@ -1647,7 +1647,7 @@ class CmdSetAttribute(ObjManipCommand): def split_nested_attr(self, attr): """ Yields tuples of (possible attr name, nested keys on that attr). - For performance, this is biased to the deepest match, but allows compatability + For performance, this is biased to the deepest match, but allows compatibility with older attrs that might have been named with `[]`'s. > list(split_nested_attr("nested['asdf'][0]")) @@ -3491,7 +3491,7 @@ class CmdSpawn(COMMAND_DEFAULT_CLASS): ) return try: - # we homogenize the protoype first, to be more lenient with free-form + # we homogenize the prototype first, to be more lenient with free-form protlib.validate_prototype(protlib.homogenize_prototype(prototype)) except RuntimeError as err: self.caller.msg(str(err)) diff --git a/evennia/commands/default/comms.py b/evennia/commands/default/comms.py index e6057cdc4b..4d6c53837a 100644 --- a/evennia/commands/default/comms.py +++ b/evennia/commands/default/comms.py @@ -1261,7 +1261,7 @@ class CmdRSS2Chan(COMMAND_DEFAULT_CLASS): class CmdGrapevine2Chan(COMMAND_DEFAULT_CLASS): """ - Link an Evennia channel to an exteral Grapevine channel + Link an Evennia channel to an external Grapevine channel Usage: grapevine2chan[/switches] = diff --git a/evennia/commands/default/help.py b/evennia/commands/default/help.py index 0cd74428c3..0d5b4eee5f 100644 --- a/evennia/commands/default/help.py +++ b/evennia/commands/default/help.py @@ -85,7 +85,7 @@ class CmdHelp(COMMAND_DEFAULT_CLASS): def format_help_entry(title, help_text, aliases=None, suggested=None): """ This visually formats the help entry. - This method can be overriden to customize the way a help + This method can be overridden to customize the way a help entry is displayed. Args: diff --git a/evennia/game_template/world/README.md b/evennia/game_template/world/README.md index 0f3862dad4..0e4a2fe18f 100644 --- a/evennia/game_template/world/README.md +++ b/evennia/game_template/world/README.md @@ -1,6 +1,6 @@ # world/ -This folder is meant as a miscellanous folder for all that other stuff +This folder is meant as a miscellaneous folder for all that other stuff related to the game. Code which are not commands or typeclasses go here, like custom economy systems, combat code, batch-files etc. diff --git a/evennia/game_template/world/prototypes.py b/evennia/game_template/world/prototypes.py index 04aba091f3..8a05ed5f6c 100644 --- a/evennia/game_template/world/prototypes.py +++ b/evennia/game_template/world/prototypes.py @@ -28,7 +28,7 @@ Possible keywords are: - `prototype_key` - the name of the prototype. This is required for db-prototypes, for module-prototypes, the global variable name of the dict is used instead - `prototype_parent` - string pointing to parent prototype if any. Prototype inherits - in a similar way as classes, with children overriding values in their partents. + in a similar way as classes, with children overriding values in their parents. - `key` - string, the main object identifier. - `typeclass` - string, if not set, will use `settings.BASE_OBJECT_TYPECLASS`. - `location` - this should be a valid object or #dbref. @@ -42,7 +42,7 @@ Possible keywords are: of the shorter forms, defaults are used for the rest. - `tags` - Tags, as a list of tuples `(tag,)`, `(tag, category)` or `(tag, category, data)`. - Any other keywords are interpreted as Attributes with no category or lock. - These will internally be added to `attrs` (eqivalent to `(attrname, value)`. + These will internally be added to `attrs` (equivalent to `(attrname, value)`. See the `spawn` command and `evennia.prototypes.spawner.spawn` for more info. diff --git a/evennia/server/sessionhandler.py b/evennia/server/sessionhandler.py index 9b78fc3378..5e407f65ca 100644 --- a/evennia/server/sessionhandler.py +++ b/evennia/server/sessionhandler.py @@ -58,7 +58,7 @@ SSHUTD = chr(7) # server shutdown SSYNC = chr(8) # server session sync SCONN = chr(11) # server portal connection (for bots) PCONNSYNC = chr(12) # portal post-syncing session -PDISCONNALL = chr(13) # portal session discnnect all +PDISCONNALL = chr(13) # portal session disconnect all SRELOAD = chr(14) # server reloading (have portal start a new server) SSTART = chr(15) # server start (portal must already be running anyway) PSHUTD = chr(16) # portal (+server) shutdown @@ -679,7 +679,7 @@ class ServerSessionHandler(SessionHandler): Get a unique list of connected and logged-in Accounts. Returns: - accounts (list): All conected Accounts (which may be fewer than the + accounts (list): All connected Accounts (which may be fewer than the amount of Sessions due to multi-playing). """ diff --git a/evennia/utils/evmore.py b/evennia/utils/evmore.py index 94b9689688..fc31555a20 100644 --- a/evennia/utils/evmore.py +++ b/evennia/utils/evmore.py @@ -173,7 +173,7 @@ class EvMore: justify (bool, optional): If set, auto-justify long lines. This must be turned off for fixed-width or formatted output, like tables. It's force-disabled if `inp` is an EvTable. - justify_kwargs (dict, optional): Keywords for the justifiy function. Used only + justify_kwargs (dict, optional): Keywords for the justify function. Used only if `justify` is True. If this is not set, default arguments will be used. exit_on_lastpage (bool, optional): If reaching the last page without the page being completely filled, exit pager immediately. If unset, @@ -518,7 +518,7 @@ class EvMore: def page_formatter(self, page): """ Page formatter. Every page passes through this method. Override - it to customize behvaior per-page. A common use is to generate a new + it to customize behavior per-page. A common use is to generate a new EvTable for every page (this is more efficient than to generate one huge EvTable across many pages and feed it into EvMore all at once). diff --git a/evennia/utils/utils.py b/evennia/utils/utils.py index 4aadc02768..7c2f2210e6 100644 --- a/evennia/utils/utils.py +++ b/evennia/utils/utils.py @@ -785,7 +785,7 @@ def latinify(string, default="?", pure_ascii=False): This is used as a last resort when normal encoding does not work. Arguments: - string (str): A string to convert to 'safe characters' convertable + string (str): A string to convert to 'safe characters' convertible to an latin-1 bytestring later. default (str, optional): Characters resisting mapping will be replaced with this character or string. The intent is to apply an encode operation @@ -1050,7 +1050,7 @@ def delay(timedelay, callback, *args, **kwargs): Keep in mind that persistent tasks arguments and callback should not use memory references. If persistent is set to True the delay function will return an int - which is the task's id itended for use with TASK_HANDLER's do_task + which is the task's id intended for use with TASK_HANDLER's do_task and remove methods. All persistent tasks whose time delays have passed will be called on server startup. @@ -1430,12 +1430,12 @@ def class_from_module(path, defaultpaths=None, fallback=None): defaultpaths (iterable, optional): If a direct import from `path` fails, try subsequent imports by prepending those paths to `path`. fallback (str): If all other attempts fail, use this path as a fallback. - This is intended as a last-resport. In the example of Evennia + This is intended as a last-resort. In the example of Evennia loading, this would be a path to a default parent class in the evennia repo itself. Returns: - class (Class): An uninstatiated class recovered from path. + class (Class): An uninstantiated class recovered from path. Raises: ImportError: If all loading failed. @@ -1574,7 +1574,7 @@ def string_partial_matching(alternatives, inp, ret_index=True): Matching is made from the start of each subword in each alternative. Case is not important. So e.g. "bi sh sw" or just "big" or "shiny" or "sw" will match "Big shiny sword". Scoring is - done to allow to separate by most common demoninator. You will get + done to allow to separate by most common denominator. You will get multiple matches returned if appropriate. Args: @@ -1647,7 +1647,7 @@ def format_table(table, extra_space=1): :: ftable = format_table([[...], [...], ...]) - for ir, row in enumarate(ftable): + for ir, row in enumerate(ftable): if ir == 0: # make first row white string += "\\\\n|w" + ""join(row) + "|n" @@ -2045,7 +2045,7 @@ def get_all_typeclasses(parent=None): typeclasses (dict): On the form {"typeclass.path": typeclass, ...} Notes: - This will dynamicall retrieve all abstract django models inheriting at any distance + 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 7204902c24fc18822b37dac7b959987b64e40906 Mon Sep 17 00:00:00 2001 From: Griatch Date: Tue, 5 Jul 2022 18:52:46 +0200 Subject: [PATCH 10/15] Update bug-report-develop.md --- .github/ISSUE_TEMPLATE/bug-report-develop.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report-develop.md b/.github/ISSUE_TEMPLATE/bug-report-develop.md index 6bb020edbb..2bcdda7d65 100644 --- a/.github/ISSUE_TEMPLATE/bug-report-develop.md +++ b/.github/ISSUE_TEMPLATE/bug-report-develop.md @@ -8,7 +8,7 @@ assignees: '' --- #### Describe the bug -(This is for bugs in the develop-branch only. Make sure you test with the latest version.) + #### To Reproduce Steps to reproduce the behavior: @@ -18,10 +18,10 @@ Steps to reproduce the behavior: 4. See error #### Expected behavior -(Replace with a clear and concise description of what you expected to happen.) + #### Develop-branch commit -(The commit-hash. If unsure, run `evennia -v` or get the first few lines of the `about` command in-game.) + #### Additional context -(Replace with any other context about the problem, or ideas on how to solve.) + From bef1465bb4dd8faaa1dae07f1fbb9e42aac16c76 Mon Sep 17 00:00:00 2001 From: Griatch Date: Tue, 5 Jul 2022 18:54:50 +0200 Subject: [PATCH 11/15] Update bug-report.md --- .github/ISSUE_TEMPLATE/bug-report.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index e7d0990a31..472cf50abb 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -8,7 +8,7 @@ assignees: '' --- #### Describe the bug -(Replace with a clear and concise description of what the bug is.) + #### To Reproduce Steps to reproduce the behavior: @@ -18,10 +18,10 @@ Steps to reproduce the behavior: 4. See error #### Expected behavior -(Replace with a clear and concise description of what you expected to happen.) + #### Environment, Evennia version, OS etc -(Replace with info. If unsure, run `evennia -v` or get the first few lines of the `about` command in-game.) + #### Additional context -(Replace with any other context about the problem, or ideas on how to solve.) + From 0c76dd66b24b09b5a4704181ea8b3b83e0b4ad2d Mon Sep 17 00:00:00 2001 From: Griatch Date: Tue, 5 Jul 2022 18:59:00 +0200 Subject: [PATCH 12/15] Update documentation-issue.md --- .github/ISSUE_TEMPLATE/documentation-issue.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/documentation-issue.md b/.github/ISSUE_TEMPLATE/documentation-issue.md index f72656ca20..d03d696e9e 100644 --- a/.github/ISSUE_TEMPLATE/documentation-issue.md +++ b/.github/ISSUE_TEMPLATE/documentation-issue.md @@ -7,11 +7,11 @@ assignees: '' --- -#### Existing page / new -(Link to existing documentation page or proposed name of new page) +#### Documentation page name and link + -#### Documentation issue -(Replace with the description of what the issue is or motivate a changes/additions) +#### Reason for issue + #### Suggested change -(Enter the suggested change here) + From a867bca9876eb36ddbc03b2905bdc09d35dce7eb Mon Sep 17 00:00:00 2001 From: Griatch Date: Tue, 5 Jul 2022 19:02:41 +0200 Subject: [PATCH 13/15] Update feature-request.md --- .github/ISSUE_TEMPLATE/feature-request.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 7dc702cfad..fe1022e728 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -8,13 +8,13 @@ assignees: '' --- #### Is your feature request related to a problem? Please describe. -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + #### Describe the solution you'd like -A clear and concise description of what you want to happen. + -#### Describe alternatives you've considered -A clear and concise description of any alternative solutions or features you've considered. +#### Alternatives you've considered + #### Additional context -Add any other context or screenshots about the feature request here. + From 59bde7c9665b276cb24c391e0a27c52300583213 Mon Sep 17 00:00:00 2001 From: Travis Briggs Date: Fri, 23 Sep 2022 12:13:48 -0700 Subject: [PATCH 14/15] Fix Windows specific bugs --- evennia/server/evennia_launcher.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evennia/server/evennia_launcher.py b/evennia/server/evennia_launcher.py index 6b0747bc6b..e589a6158e 100644 --- a/evennia/server/evennia_launcher.py +++ b/evennia/server/evennia_launcher.py @@ -38,7 +38,7 @@ EVENNIA_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(_ import evennia # noqa -EVENNIA_LIB = os.path.join(os.path.dirname(os.path.abspath(evennia.__file__))) +EVENNIA_LIB = os.path.join(EVENNIA_ROOT, "evennia") EVENNIA_SERVER = os.path.join(EVENNIA_LIB, "server") EVENNIA_TEMPLATE = os.path.join(EVENNIA_LIB, "game_template") EVENNIA_PROFILING = os.path.join(EVENNIA_SERVER, "profiling") @@ -1226,7 +1226,7 @@ def evennia_version(): version = "Unknown" try: version = evennia.__version__ - except ImportError: + except (ImportError, AttributeError): # even if evennia is not found, we should not crash here. pass try: From 0dedd00c419d1bf3e46a1bc5cf8fefa624d74c33 Mon Sep 17 00:00:00 2001 From: selberhad Date: Mon, 3 Oct 2022 12:17:40 -0400 Subject: [PATCH 15/15] docs: fix broken links in Tutorial --- docs/source/Tutorials.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/source/Tutorials.md b/docs/source/Tutorials.md index 681539c33e..3b719298c6 100644 --- a/docs/source/Tutorials.md +++ b/docs/source/Tutorials.md @@ -44,8 +44,7 @@ understanding of [object-oriented programming](http://www.tutorialspoint.com/pyt external link with tutorials for those not familiar with coding in general or Python in particular. - [Tutorial: Version Control](./Version-Control.md) - use GIT to organize your code both for your own game project and for contributing to Evennia. -- MIT offers free courses in many subjects. Their [Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc- -introduction-to-computer-science-and-programming-spring-2011/) uses Python as its language of +- MIT offers free courses in many subjects. Their [Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/) uses Python as its language of choice. Longer path, but more in-depth. Definitely worth a look. ### Coding - First Step tutorials @@ -77,10 +76,9 @@ _Examples of designing new objects for your game world_ - [Tutorial: Listening NPC's](./Tutorial-NPCs-listening.md) - [Tutorial: Creating a vehicle](./Tutorial-Vehicles.md) - [Tutorial: Making an NPC shop](./NPC-shop-Tutorial.md) (also advanced [EvMenu](./EvMenu.md) usage) -- [Tutorial: Implementing a Static In Game Map](./Static-In-Game-Map.md) (also [Batch Code](Batch-Code- -Processor) usage) +- [Tutorial: Implementing a Static In Game Map](./Static-In-Game-Map.md) (also [Batch Code](Batch-Code-Processor) usage) - [Tutorial: Implementing a Dynamic In Game Map](./Dynamic-In-Game-Map.md) -- [Tutorial: Writing your own unit tests](./Unit-Testing.md#testing-for-game-development-mini-tutorial) +- [Tutorial: Writing your own unit tests](Unit-Testing.md#testing-for-game-development-mini-tutorial) ### Game mechanics tutorials