# 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`:

    # 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`.

    # 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.

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.