Repository: evennia/evennia

Issue:
[Documentation] docs show reuse of python built-in keywords (str); change to STR
#### Existing page

Issue seen on one doc page; might be on other pages too.

https://raw.githubusercontent.com/evennia/evennia/master/docs/source/First-Steps-Coding.md

#### Documentation issue

Example of current demo code:

    ```python
        class CmdAbilities(BaseCommand):
            """
            List abilities

            Usage:
              abilities

            Displays a list of your current ability values.
            """
            key = "abilities"
            aliases = ["abi"]
            lock = "cmd:all()"
            help_category = "General"

            def func(self):
                """implements the actual functionality"""

                 str, agi, mag = self.caller.get_abilities()
                 string = "STR: %s, AGI: %s, MAG: %s" % (str, agi, mag)
                 self.caller.msg(string)
    ```

Line 187 is `str, agi, mag = self.caller.get_abilities()`, which reassigns the built-in `str` (string) object to the value returned by `get_abilities()`

Example of negative impact:
![image](https://user-images.githubusercontent.com/5898931/136674439-ed7abfb5-4929-45e4-93f3-57e4617806e4.png)

#### Suggested change

Change "str" variable (and "int" if used in docs to reference "intelligence") to something else. For consistency, change them all. Perhaps something like:

```python
                 ability_str, ability_agi, ability_mag = self.caller.get_abilities()
                 string = "STR: %s, AGI: %s, MAG: %s" % (ability_str, ability_agi, ability_mag)
```



Discussion:
fixing this specific example (and others as I come across them) and plan to search docs for other examples of accidental reassignment
quick ripgrep for `(str|int)\b.*=` to look for instances where "str" (not "strength") or "int" (not "intelligence") were followed by an assignment (`=`) results in what appears like a clean results set. As far as docs are concerned, this issue will be closed when PR made.

![image](https://user-images.githubusercontent.com/5898931/136675360-09428523-d06d-4b10-af8e-41c977dc0100.png)

and a slightly better ripgrep across the full repo appears to show no issues in any source

![image](https://user-images.githubusercontent.com/5898931/136675408-848bc65f-8638-43f3-8bcc-ad0ce5993593.png)

No intention of implying that source had bugs of this nature. I just wanted to do the search while idea was fresh in mind.

Suggest this ticket is closed when PR made & accepted.
possibly closed after PR merge

https://github.com/evennia/evennia/pull/2550

Resolving patch:
diff --git a/evennia/utils/create.py b/evennia/utils/create.py
--- a/evennia/utils/create.py
+++ b/evennia/utils/create.py
@@ -73,8 +73,8 @@ def create_object(
         typeclass (class or str): Class or python path to a typeclass.
         key (str): Name of the new object. If not set, a name of
             `#dbref` will be set.
-        home (Object or str): Obj or #dbref to use as the object's
-            home location.
+        location (Object or str): Obj or #dbref to use as the location of the new object.
+        home (Object or str): Obj or #dbref to use as the object's home location.
         permissions (list): A list of permission strings or tuples (permstring, category).
         locks (str): one or more lockstrings, separated by semicolons.
         aliases (list): A list of alternative keys or tuples (aliasstring, category).


Test patch: