.. Automatically generated file - do not modify.

.. function:: Character(name, kind=adv, **args)
    
    Creates and returns a Character object, which controls the look
    and feel of dialogue and narration.
    
    `name`
        If a string, the name of the character for dialogue. When
        `name` is ``None``, display of the name is omitted, as for
        narration.
    
    `kind`
        The Character to base this Character off of. When used, the
        default value of any argument not supplied to this Character
        is the value of that argument supplied to `kind`. This can
        be used to define a template character, and then copy that
        character with changes.
    
    **Linked Image**
    An image tag may be associated with a Character. This allows a
    say statement involving this character to display an image with
    the tag, and also allows Ren'Py to automatically select a side
    image to show when this character speaks.
    
    `image`
         A string giving the image tag that is linked with this
         character.
    
    **Voice Tag**
    If a voice tag is assign to a Character, the voice files that are
    associated with it, can be muted or played in the preference
    screen.
    
    `voice_tag`
        A String that enables the voice file associated with the
        Character to be muted or played in the 'voice' channel.
    
    **Prefixes and Suffixes.**
    These allow a prefix and suffix to be applied to the name of the
    character, and to the text being shown. This can be used, for
    example, to add quotes before and after each line of dialogue.
    
    `what_prefix`
        A string that is prepended to the dialogue being spoken before
        it is shown.
    
    `what_suffix`
        A string that is appended to the dialogue being spoken before
        it is shown.
    
    `who_prefix`
        A string that is prepended to the name of the character before
        it is shown.
    
    `who_suffix`
        A string that is appended to the name of the character before
        it is shown.
    
    **Changing Name Display.**
    These options help to control the display of the name.
    
    `dynamic`
        If true, then `name` should be a string containing a python
        expression. That string will be evaluated before each line
        of dialogue, and the result used as the name of the character.
    
    **Controlling Interactions.**
    These options control if the dialogue is displayed, if an
    interaction occurs, and the mode that is entered upon display.
    
    `condition`
        If given, this should be a string containing a python
        expression. If the expression is false, the dialogue
        does not occur, as if the say statement did not happen.
    
    `interact`
        If true, the default, an interaction occurs whenever the
        dialogue is shown. If false, an interaction will not occur,
        and additional elements can be added to the screen.
    
    `advance`
        If True, the default, the player can click to advance through
        the statement, and other means of advancing (such as skip and
        auto-forward mode) will also work. If False, the player will be
        unable to move past the say statement unless an alternate means
        (such as a jump hyperlink or screen) is provided.
    
    `mode`
        A string giving the mode to enter when this character
        speaks. See the section on :ref:`modes <modes>` for more details.
    
    `callback`
        A function that is called when events occur while the
        character is speaking. See the section on
        :ref:`character-callbacks` fore more information.
    
    **Click-to-continue.**
    A click-to-continue indicator is displayed once all the text has
    finished displaying, to prompt the user to advance.
    
    `ctc`
        A Displayable to use as the click-to-continue indicator, unless
        a more specific indicator is used.
    
    `ctc_pause`
        A Displayable to use a the click-to-continue indicator when the
        display of text is paused by the {p} or {w} text tags.
    
    `ctc_timedpause`
        A Displayable to use a the click-to-continue indicator when the
        display of text is paused by the {p=} or {w=} text tags. When
        None, this takes its default from ctc_pause, use ``Null()``
        when you want a ctc_pause but no ctc_timedpause.
    
    `ctc_position`
        Controls the location of the click-to-continue indicator. If
        ``"nestled"``, the indicator is displayed as part of the text
        being shown, immediately after the last character. If ``"fixed"``,
        the indicator is added to the screen, and its position is
        controlled by the position style properties.
    
    
    **Screens.**
    The display of dialogue uses a :ref:`screen <screens>`. These arguments
    allow you to select that screen, and to provide arguments to it.
    
    `screen`
        The name of the screen that is used to display the dialogue.
    
    Keyword arguments beginning with ``show_`` have the prefix
    stripped off, and are passed to the screen as arguments. For
    example, the value of ``show_myflag`` will become the value of
    the ``myflag`` variable in the screen. (The myflag variable isn't
    used by default, but can be used by a custom say screen.)
    
    One show variable is, for historical reasons, handled by Ren'Py itself:
    
    `show_layer`
        If given, this should be a string giving the name of the layer
        to show the "say" screen on.
    
    **Styling Text and Windows.**
    Keyword arguments beginning with ``who_``, ``what_``, and
    `window_`` have their prefix stripped, and are used to :ref:`style
    <styles>` the character name, the spoken text, and the window
    containing both, respectively.
    
    For example, if a character is given the keyword argument
    ``who_color="#c8ffc8"``, the color of the character's name is
    changed, in this case to green. ``window_background="frame.png"``
    sets the background of the window containing this character's
    dialogue.
    
    The style applied to the character name, spoken text, and window
    can also be set this way, using the `who_style`, `what_style`, and
    `window_style` arguments, respectively.
    
    Setting :var:`config.character_id_prefixes` makes it possible to style
    other displayables as well. For example, when the default GUI is used,
    styles prefixed with ``namebox_`` are used to style the name of the
    speaking character.

