[
  {
    "type": "effect_type",
    "id": "u_met_millyficent"
  },
  {
    "type": "talk_topic",
    "id": "TALK_Millyficent_1",
    "dynamic_line": {
      "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ],
      "yes": [ "What did you bring me?", "Hello.", "How are you?", "Welcome!", "Do you smell something?" ],
      "no": "New test subjects!  I'm so glad you showed up!"
    },
    "responses": [
      {
        "text": "Who are you?",
        "effect": { "u_add_var": "general_meeting_u_met_millyficent", "value": "yes" },
        "condition": { "not": { "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ] } },
        "topic": "TALK_millyficent_firstmeet"
      },
      {
        "text": "What is this place?",
        "condition": { "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ] },
        "topic": "TALK_millyficent_place"
      },
      {
        "text": "How did you get here?",
        "condition": { "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ] },
        "topic": "TALK_millyficent_ask_past"
      },
      {
        "text": "How are things here?",
        "condition": { "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ] },
        "topic": "TALK_millyficent_ask_mood"
      },
      {
        "text": "Can I do anything for you?  Do I want to?",
        "condition": { "compare_string": [ "yes", { "u_val": "general_meeting_u_met_millyficent" } ] },
        "topic": "TALK_MISSION_LIST"
      },
      { "text": "I'm going on my way now.", "topic": "TALK_DONE" }
    ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_firstmeet",
    "dynamic_line": "Millyficent Whately.  I'm so glad you finally arrived.  It's been a while since I last received new lab partners.",
    "responses": [
      { "text": "I'm so hungry, can you help me?", "topic": "TALK_millyficent_food" },
      { "text": "You are aware of the Cataclysm?", "topic": "TALK_millyficent_cataclysm" },
      { "text": "I am your new lab partner.", "topic": "TALK_Millyficent_1" }
    ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_place",
    "dynamic_line": "Welcome to my lab!  Here we explore the boundaries of the possible beyond the reach of small minds.",
    "responses": [
      { "text": "Can you give me something to eat then?", "topic": "TALK_millyficent_food" },
      { "text": "Oh, okay.", "topic": "TALK_Millyficent_1" },
      { "text": "I think there's been a mistake.", "topic": "TALK_DONE" }
    ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_food",
    "dynamic_line": "No, no, no!  No food without successfully completed experiments.  We mustn't break the contract!",
    "responses": [
      { "text": "What do I have to do?", "topic": "TALK_MISSION_LIST" },
      { "text": "I don't think you are well.", "topic": "TALK_DONE" }
    ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_ask_past",
    "dynamic_line": "Well after I did my graduate thesis on theoretical xenobiology the government hired me to join the most interesting program.  Yes there were deaths but we learned so much.",
    "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_Millyficent_1" } ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_cataclysm",
    "dynamic_line": "What I know is that I pay well for test subjects and I deliver results and at this rate we will not be releasing on time!",
    "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_Millyficent_1" } ]
  },
  {
    "type": "talk_topic",
    "id": "TALK_millyficent_ask_mood",
    "dynamic_line": "Ever since they moved me to my own lab my research has progressed so much faster.",
    "responses": [ { "text": "This is not reassuring.", "topic": "TALK_Millyficent_1" } ]
  },
  {
    "id": "MISSION_migo_biology_1",
    "type": "mission_definition",
    "name": "Mi-go biology",
    "description": "Find fetid goop.",
    "goal": "MGOAL_FIND_ITEM",
    "difficulty": 5,
    "value": 0,
    "item": "fetid_goop",
    "count": 14,
    "origins": [ "ORIGIN_SECONDARY" ],
    "followup": "MISSION_migo_biology_2",
    "dialogue": {
      "describe": "I need 14 fetid goops from mi-go locations.",
      "offer": "My experiments are at a critical point.  Could you find about… 14 fetid goops for me?",
      "accepted": "Don't forget to tell me when you have them.",
      "rejected": "Then why are you even here?  Just let me know if you reconsider.",
      "advice": "Find a mi-go base, find a way inside, smash things until you find what I need.",
      "inquire": "Why aren't you done yet?",
      "success": "Taste this.",
      "success_lie": "Thanks for trying… I guess.",
      "failure": "You are holding back the evolution of the human race."
    },
    "end": { "effect": [ { "u_spawn_item": "mutagen_migo", "container": "flask_glass", "count": 1 } ] }
  },
  {
    "id": "MISSION_migo_biology_2",
    "type": "mission_definition",
    "name": "Mi-go Resin",
    "description": "Find 50 chunks of mi-go resin.",
    "goal": "MGOAL_FIND_ITEM",
    "difficulty": 6,
    "value": 0,
    "item": "resin_chunk",
    "count": 50,
    "origins": [ "ORIGIN_SECONDARY" ],
    "followup": "MISSION_migo_biology_3",
    "dialogue": {
      "describe": "I need 50 chunks of mi-go resin.",
      "offer": "I need to understand more about their environment and how they create it.  This research wasn't even possible previously.  Bring me fifty chunks of mi-go resin.",
      "accepted": "My notes suggest that their building materials are alive.  I need you to help me confirm that.",
      "rejected": "You can't just walk away from this.  We're changing the world!",
      "advice": "Find their buildings, jackhammer them.  What did you do before the world changed for the better, cold call salesman?",
      "inquire": "Have you found my resin?",
      "success": "Drink this.",
      "success_lie": "Did you act on Broadway?  Because I bet that skill isn't useful anymore.",
      "failure": "I wonder if I could trade you to them for what I need?"
    },
    "end": { "effect": [ { "u_spawn_item": "mutagen_migo", "container": "flask_glass", "count": 1 } ] }
  },
  {
    "id": "MISSION_migo_biology_3",
    "type": "mission_definition",
    "name": "Mutagen",
    "description": "Bring me 3 mutagen.",
    "goal": "MGOAL_FIND_ITEM",
    "difficulty": 3,
    "value": 0,
    "item": "mutagen",
    "count": 3,
    "origins": [ "ORIGIN_SECONDARY" ],
    "followup": "MISSION_migo_biology_4",
    "dialogue": {
      "describe": "I need three mutagen.",
      "offer": "I need some mutagen and I don't want to spend the time making it myself.  Bring me three doses, if you would be so kind.",
      "accepted": "Mutagen makes the world go round, it's definitely more valuable than love.",
      "rejected": "Are you scared of where I'm taking you?",
      "advice": "If you can't make it yourself go hit up a government lab.  Be prepared for anything in there.",
      "inquire": "Mutagen?  Why are you in front of me if not?",
      "success": "I've got something more potent for you this time.",
      "success_lie": "Lies and the lying liars who tell them.",
      "failure": "You are keeping me from my experiments.  Would you like to become one?"
    },
    "end": { "effect": [ { "u_spawn_item": "iv_mutagen_migo", "container": "flask_glass", "count": 1 } ] }
  },
  {
    "id": "MISSION_migo_biology_4",
    "type": "mission_definition",
    "name": "Humming Hearts",
    "description": "Find 2 humming hearts.",
    "goal": "MGOAL_FIND_ITEM",
    "difficulty": 8,
    "value": 0,
    "item": "humming_heart",
    "count": 2,
    "origins": [ "ORIGIN_SECONDARY" ],
    "followup": "MISSION_FIND_CYRUS",
    "dialogue": {
      "describe": "Parts, parts, parts.  Bring me some hearts.",
      "offer": "The Whately's are known in these parts for gathering body parts.  Ha!  That's just rumors and hearsay.  But I do need two humming hearts.",
      "accepted": "I have some relatives you should meet, if you don't mind hard work for the advancement of science.",
      "rejected": "Even I understand this is dangerous.",
      "advice": "Brain blasters, that's what I call them.  Some kind of automated weapon system the mi-go use.",
      "inquire": "They speak sometimes.  I wonder if they still think.",
      "success": "Let's see what improvements we can divine from these beauties.",
      "success_lie": "Thanks for trying… I guess.",
      "failure": "I can't be Dr. Frankenstein unless you get me these."
    },
    "end": { "effect": [ { "u_spawn_item": "mutagen_migo", "container": "bottle_glass", "count": 3 } ] }
  },
  {
    "id": "MISSION_FIND_CYRUS",
    "type": "mission_definition",
    "name": "Find my great uncle Cyrus Whately",
    "description": "Cyrus and his family were poorly liked even for Whately's before the end of the world.  They went so far off grid that they may not even know anything has changed.  I need to know he's alive and where his research has taken him.",
    "goal": "MGOAL_TALK_TO_NPC",
    "difficulty": 2,
    "value": 150000,
    "origins": [ "ORIGIN_SECONDARY" ],
    "has_generic_rewards": false,
    "dialogue": {
      "describe": "My great uncle Cyrus had an unconventional relationship with both his neighbors and the mi-go before the Cataclysm.  I'd like to know where he has gotten with his research since I haven't heard from him in years.",
      "offer": "Can you go find my uncle and let him know where I am?",
      "accepted": "Of course you said yes, you want to know what he's found just as much as I do!",
      "rejected": "Oh well.  I was hoping to teach you some new things, so you could start your own experiments.",
      "advice": "I've given you directions to that branch of the family's bunker.  Yes I said bunker did you think he'd be in a tower?",
      "inquire": "How is the search going?",
      "success": "Thanks, now that he knows I'm here he's sent some of my cousins.  Now that I have more disposable help, take a copy of my early research.",
      "success_lie": "What good does this do us?",
      "failure": "I hope he didn't meet Leandrus' fate…"
    },
    "start": {
      "assign_mission_target": {
        "om_terrain": "whately_lmoe_under_first_floor",
        "om_special": "Strange LMOE Shelter",
        "z": 0,
        "reveal_radius": 3,
        "must_see": false,
        "random": true,
        "search_range": 180
      },
      "update_mapgen": { "place_npcs": [ { "class": "cyrus_whately", "x": 11, "y": 10, "target": true } ] }
    },
    "end": { "opinion": { "trust": 1, "value": 1 }, "effect": [ { "u_spawn_item": "millyficents_diary", "count": 1 } ] }
  }
]
