mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
84 lines
2.1 KiB
Markdown
84 lines
2.1 KiB
Markdown
# Gendersub
|
|
|
|
Contribution by Griatch 2015
|
|
|
|
This is a simple gender-aware Character class for allowing users to
|
|
insert custom markers in their text to indicate gender-aware
|
|
messaging. It relies on a modified msg() and is meant as an
|
|
inspiration and starting point to how to do stuff like this.
|
|
|
|
An object can have the following genders:
|
|
|
|
- male (he/his)
|
|
- female (her/hers)
|
|
- neutral (it/its)
|
|
- ambiguous (they/them/their/theirs)
|
|
|
|
## Installation
|
|
|
|
Import and add the `SetGender` command to your default cmdset in
|
|
`mygame/commands/default_cmdset.py`:
|
|
|
|
```python
|
|
# mygame/commands/default_cmdsets.py
|
|
|
|
# ...
|
|
|
|
from evennia.contrib.game_systems.gendersub import SetGender # <---
|
|
|
|
# ...
|
|
|
|
class CharacterCmdSet(default_cmds.CharacterCmdSet):
|
|
# ...
|
|
def at_cmdset_creation(self):
|
|
# ...
|
|
self.add(SetGender()) # <---
|
|
```
|
|
|
|
Make your `Character` inherit from `GenderCharacter`.
|
|
|
|
```python
|
|
# mygame/typeclasses/characters.py
|
|
|
|
# ...
|
|
|
|
from evennia.contrib.game_systems.gendersub import GenderCharacter # <---
|
|
|
|
class Character(GenderCharacter): # <---
|
|
# ...
|
|
```
|
|
|
|
Reload the server (`evennia reload` or `reload` from inside the game).
|
|
|
|
|
|
## Usage
|
|
|
|
When in use, messages can contain special tags to indicate pronouns gendered
|
|
based on the one being addressed. Capitalization will be retained.
|
|
|
|
- `|s`, `|S`: Subjective form: he, she, it, He, She, It, They
|
|
- `|o`, `|O`: Objective form: him, her, it, Him, Her, It, Them
|
|
- `|p`, `|P`: Possessive form: his, her, its, His, Her, Its, Their
|
|
- `|a`, `|A`: Absolute Possessive form: his, hers, its, His, Hers, Its, Theirs
|
|
|
|
For example,
|
|
|
|
```
|
|
char.msg("%s falls on |p face with a thud." % char.key)
|
|
"Tom falls on his face with a thud"
|
|
```
|
|
|
|
The default gender is "ambiguous" (they/them/their/theirs).
|
|
|
|
To use, have DefaultCharacter inherit from this, or change
|
|
setting.DEFAULT_CHARACTER to point to this class.
|
|
|
|
The `gender` command is used to set the gender. It needs to be added to the
|
|
default cmdset before it becomes available.
|
|
|
|
|
|
|
|
----
|
|
|
|
<small>This document page is generated from `evennia/contrib/game_systems/gendersub/README.md`. Changes to this
|
|
file will be overwritten, so edit that file rather than this one.</small>
|