Skip to main content.
// General

Talk

Initiate a conversation with a nearby character.

            Usage:
                talk to <character>
                talk <character>

            Opens a menu of social moves bound to a `converse`
            interaction on the target. What's available depends on
            your relationship with the target: some moves need a
            minimum familiarity, some topics need a trust threshold
            or facial recognition, etc.

            The menu shows the NPC's current mood at the top so you
            have a read on where you stand:

                hostile   opinion < 30
                neutral   opinion 30..69
                friendly  opinion >= 70

            # subtopics

            ## Moves

                greet        Exchange pleasantries. First greet of
                             the game-day raises familiarity by +5;
                             subsequent greets only +1. Sets the
                             NPC's face_recognized flag on you. May
                             trigger a name offer (see below).
                             [once per conversation]
                introduce    Offer your name. NPC always records it.
                             They share theirs back only if their
                             name_share_lock passes (default
                             `always`; can be `trust(60)`,
                             `recognized()`, etc. per-NPC).
                             [visible while NPC doesn't know your
                             name; once per conversation]
                ask          Ask about a topic -- enters a
                             multi-beat thread (see below). List
                             = overlap of your heard_topics with
                             the NPC's topics, plus public topics
                             they carry.
                end          Close the conversation.

            ## Topic threads

            Picking ask and choosing a topic enters a thread:
            the NPC says something, you see numbered choices, you
            pick one, and the conversation branches based on your
            pick (or a skill check). Threads remember where you left
            off -- you can `back` out to the topic list and come
            back later, or `end` to close the conversation entirely.

            Choices can be:

              - Plain dialogue branches.
              - [Stat N] skill checks -- a roll against your
                stat. Pass / fail leads to different next beats.
                Some are one-shot (single attempt this
                conversation).
              - Gated by what you carry, what you know, who you
                are: a beat author can lock a choice behind a
                lockstring like has_item(keycard),
                has_trait(corporate), faction_rep(ACC, 30).
                You only see choices you qualify for.
              - Effect-carrying: picking a choice can grant favor,
                reveal facts, hand over an item, take one, change
                relationship scalars, set per-PC story flags, etc.

            ## Trait-driven NPC behavior

            The NPC's traits color their greet response:

                workaholic + familiarity < 30: greet appends a
                              "busy day -- what do you need?" line.
                solitary: name exchange suppressed outside the
                              friendly band.
                lazy: never volunteers their name during greet --
                         you must explicitly introduce.

            With no relevant traits and `name_share_lock` passing,
            a neutral or friendly NPC will offer their name during
            greet (registering an rpsystem recog so you see them by
            name from then on) and prompt you for yours. You still
            need to run introduce to tell them your name.

            ## Response variety

            Each move has multiple response templates per opinion
            band (hostile / neutral / friendly), picked at random.
            Repeat encounters don't feel scripted.

            ## Names + recog

            Until you've recog'd an NPC (manually via recog <obj>
            as <name>, or automatically when they offer it during
            greet/introduce), they appear in room descriptions by
            their sdesc -- "a hooded figure in synthleather"
            rather than "Mira". The conversation menu, error
            messages, and templates all honor this.

            ## Cooldown

            After a conversation ends, you can't immediately re-talk
            to the same target (default 30 game-minutes). Admins
            can reset with @npc/clearcooldown <npc> for testing.

            ## NPC moving away

            If the NPC walks out of the room mid-conversation (or
            you do), the menu closes and the interaction ends. You'll
            see "X stepped away; the conversation ended."

            ## What's missing (later phases)

            Coercion and transactional moves -- bribe, threaten,
            ask_favor, accuse -- ship in a later phase once the
            traits / hooks / evidence systems they depend on are in
            place. Same for the conversation-interrupt model (combat
            or alarm during a thread).

            ## Rich prose + skill voices (Disco-style)

            When you enter a beat, you may see:

              - A bracketed [SPEAKER LABEL] at the top of the
                block, using whatever name you currently know them by
                (sdesc until you've recog'd them, name once you have).
              - A short block of narrative prose describing the
                room, body language, atmospherics. This is private to
                you -- the rest of the room only hears the spoken
                line below.
              - Zero or more PASSIVE SKILL VOICES: a quick stat
                roll fires silently against your skills, and on a
                pass, a one-liner appears tagged with the skill
                ("PERCEPTION -- His left hand is shaking."). Each
                voice has its own color. Failures are silent -- you
                only see the ones you passed.
              - The NPC's "spoken line in quotes" at the bottom.
                That's the part the rest of the room hears (through
                rpsystem sdesc/recog).

            On skill check failure during a choice, some authors
            wire a failure voice -- a red-tagged Disco flourish
            describing why the read went sideways. Sometimes you
            learn more from a failed roll than a passed one.

            See `help converse` for the underlying interaction +
            handler mechanics, `help npc social` for the data
            substrate (relationships, memories, topics, perceived
            identity), and `help topic threads` for the full beat
            schema if you're authoring NPCs.
// General