๐Ÿ“ฆ sleepyfran / duets

๐Ÿ“„ Social.Types.fs ยท 28 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28namespace Duets.Entities

[<AutoOpen>]
module SocialTypes =
    /// Defines all the possible social actions that can be performed during
    /// a social interaction.
    [<RequireQualifiedAccess>]
    type SocialActionKind =
        | Greet
        | Chat
        | AskAboutDay
        | TellStory
        | Compliment
        | TellJoke
        | Gossip
        | Argue
        | Hug
        | Flirt
        | DiscussInterests
        | AskAboutCareer
        | ShareMemory

    /// Defines a state for a current social interaction.
    type SocializingState =
        { Npc: Character
          Relationship: Relationship option
          Actions: SocialActionKind list }