{
  "Language": "en-US",
  "Title": "The Ferry at Dusk",
  "Version": "1.5.1.0",
  "Author": "ChatMapper format documentation",
  "Description": "A minimal but complete example: two actors, one item, one location, one variable, and one branching conversation. Entirely fictional.",
  "UserScript": "Variable[\"has_token\"] = false",
  "Assets": {
    "Actors": [
      {
        "ID": 1,
        "Fields": {
          "Name": "Traveller",
          "IsPlayer": "True",
          "Description": "The player character.",
          "Pictures": "[]"
        }
      },
      {
        "ID": 2,
        "Fields": {
          "Name": "Ferryman",
          "IsPlayer": "False",
          "Description": "Works the last crossing of the day.",
          "Pictures": "[]"
        }
      }
    ],
    "Items": [
      {
        "ID": 1,
        "Fields": {
          "Name": "Brass Token",
          "Description": "Buys one crossing.",
          "Pictures": "[]"
        }
      }
    ],
    "Locations": [
      {
        "ID": 1,
        "Fields": {
          "Name": "The Jetty",
          "Description": "Weathered boards over slack water.",
          "Pictures": "[]"
        }
      }
    ],
    "UserVariables": [
      {
        "ID": 1,
        "Fields": {
          "Name": "has_token",
          "Initial Value": "False",
          "Description": "Set when the traveller accepts the ferryman's token."
        }
      }
    ],
    "Conversations": [
      {
        "ID": 1,
        "NodeColor": "White",
        "Fields": {
          "Title": "Asking for passage",
          "Description": "The only conversation in this example.",
          "Actor": "1",
          "Conversant": "2",
          "Primary Location": "1"
        },
        "DialogNodes": [
          {
            "ID": 0,
            "ConversationID": 1,
            "IsRoot": true,
            "IsGroup": false,
            "ConditionsString": "",
            "UserScript": "",
            "NodeColor": "Green",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "START",
              "Actor": "1",
              "Conversant": "2"
            },
            "OutgoingLinks": [
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 0,
                "DestinationDialogID": 1
              }
            ]
          },
          {
            "ID": 1,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": false,
            "ConditionsString": "",
            "UserScript": "",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Opening line",
              "Actor": "2",
              "Conversant": "1",
              "Dialogue Text": "Last crossing of the day.|Coming aboard, or staying with the rain?"
            },
            "OutgoingLinks": [
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 1,
                "DestinationDialogID": 2
              }
            ]
          },
          {
            "ID": 2,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": true,
            "ConditionsString": "",
            "UserScript": "",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Traveller's options"
            },
            "OutgoingLinks": [
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 2,
                "DestinationDialogID": 3
              },
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 2,
                "DestinationDialogID": 4
              }
            ]
          },
          {
            "ID": 3,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": false,
            "ConditionsString": "",
            "UserScript": "Variable[\"has_token\"] = true",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Accept the token",
              "Actor": "1",
              "Conversant": "2",
              "Menu Text": "I'll take the crossing.",
              "Dialogue Text": "I'll take the crossing."
            },
            "OutgoingLinks": [
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 3,
                "DestinationDialogID": 5
              }
            ]
          },
          {
            "ID": 4,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": false,
            "ConditionsString": "",
            "UserScript": "",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Stay ashore",
              "Actor": "1",
              "Conversant": "2",
              "Menu Text": "I'll wait for morning.",
              "Dialogue Text": "I'll wait for morning."
            },
            "OutgoingLinks": [
              {
                "Filename": null,
                "OriginConvoID": 1,
                "DestinationConvoID": 1,
                "OriginDialogID": 4,
                "DestinationDialogID": 6
              }
            ]
          },
          {
            "ID": 5,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": false,
            "ConditionsString": "Variable[\"has_token\"] == true",
            "UserScript": "",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Ending - crossing",
              "Actor": "2",
              "Conversant": "1",
              "Dialogue Text": "Mind the step. She rolls once we clear the piling."
            },
            "OutgoingLinks": []
          },
          {
            "ID": 6,
            "ConversationID": 1,
            "IsRoot": false,
            "IsGroup": false,
            "ConditionsString": "",
            "UserScript": "",
            "NodeColor": "White",
            "DelaySimStatus": false,
            "FalseConditionAction": 0,
            "ConditionPriority": 3,
            "Fields": {
              "Title": "Ending - ashore",
              "Actor": "2",
              "Conversant": "1",
              "Dialogue Text": "Suit yourself. The rain is not in a hurry either."
            },
            "OutgoingLinks": []
          }
        ]
      }
    ]
  }
}
