diff --git a/data/mods/Aftershock/maps/mapgen/sadie_large_storage.json b/data/mods/Aftershock/maps/mapgen/sadie_large_storage.json new file mode 100644 index 0000000000000..f121aea9f519e --- /dev/null +++ b/data/mods/Aftershock/maps/mapgen/sadie_large_storage.json @@ -0,0 +1,121 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "large_storage_units_3", + "weight": 1000, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "-------66666666666666666", + "|AAAAA|.................", + "|G 7y................", + "|G 7y................", + "| MM |8................", + "|-----|..........|-----|", + "|C MM7y........y7 MM A|", + "|CMM 7y........y7 A|", + "|C M |8........8| MM A|", + "|-----|..........|-----|", + "|G M 7y........y7 C|", + "|G MM7y........y7MM C|", + "|G MM |8........8| MM C|", + "|-----|..........|-----|", + "|G MM 7y........y7 MM G|", + "|G 7y........y7 G|", + "|G GGG|8........8| MM G|", + "|-----|..........|-----|", + "|G MM 7y........y7 MMA|", + "|G MM 7y........y7MM A|", + "|G MM7y........y7MM G|", + "|MM |8........8| MM M|", + "| MMM |..........|CCCCC|", + "------------------------" + ], + "terrain": { + " ": "t_thconc_floor", + "+": "t_door_c", + "-": "t_wall_w", + ".": "t_pavement", + "1": "t_window", + "2": "t_sidewalk", + "3": "t_tree_young", + "4": "t_chaingate_l", + "5": "t_wall_wood", + "6": "t_chainfence_h", + "7": "t_door_metal_locked", + "8": "t_gates_mech_control", + "E": "t_dirtfloor", + "r": "t_pavement", + "y": "t_pavement_y", + "|": "t_wall_w" + }, + "furniture": { + "A": "f_rack", + "B": "f_toilet", + "C": "f_counter", + "D": "f_sink", + "E": "f_sink", + "F": "f_chair", + "G": "f_locker", + "H": "f_table", + "I": "f_sofa", + "M": [ "f_crate_c", "f_cardboard_box" ] + }, + "place_items": [ + { "item": "livingroom", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "hardware_bulk", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "home_hw", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "tools_home", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "tools_construction", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "supplies_electronics", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "gear_survival", "x": [ 1, 5 ], "y": [ 2, 4 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "homebooks", "x": [ 1, 5 ], "y": [ 6, 8 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "supplies_fuel", "x": [ 1, 5 ], "y": [ 6, 8 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "bedroom", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "dresser", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "mil_surplus", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "mil_hw", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "mil_armor", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "mil_accessories", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "weapons", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "ammo_pistol_common", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "mags_common", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "mags_crime", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "homeguns", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "mansion_guns", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "gunmod_common", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "gear_soldier_sidearm", "x": [ 1, 5 ], "y": [ 10, 12 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "softdrugs", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "harddrugs", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 30, "repeat": [ 1, 6 ] }, + { "item": "gear_medical", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "drugs_emergency", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 40, "repeat": [ 1, 6 ] }, + { "item": "drugs_pharmacy", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "drugs_soldier", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "bionics_common", "x": [ 1, 5 ], "y": [ 14, 16 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "dining", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "kitchen", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "oven", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "camping", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "vending_food", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "vending_drink", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "cannedfood", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "snacks", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "pasta", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "snacks_fancy", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "coffee_shop", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "alcohol", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "mil_food", "x": [ 1, 5 ], "y": [ 18, 22 ], "chance": 5, "repeat": [ 1, 6 ] }, + { "item": "methlab", "x": [ 18, 22 ], "y": [ 10, 12 ], "chance": 70, "repeat": [ 1, 6 ] }, + { "item": "harddrugs", "x": [ 18, 22 ], "y": [ 10, 12 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "chem_home", "x": [ 18, 22 ], "y": [ 10, 12 ], "chance": 20, "repeat": [ 1, 6 ] }, + { "item": "chem_lab", "x": [ 18, 22 ], "y": [ 10, 12 ], "chance": 10, "repeat": [ 1, 6 ] }, + { "item": "arcade_prizes", "x": [ 18, 22 ], "y": [ 14, 16 ], "chance": 50, "repeat": [ 1, 6 ] }, + { "item": "antique", "x": [ 18, 22 ], "y": [ 14, 16 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "farming_tools", "x": [ 18, 22 ], "y": [ 18, 22 ], "chance": 35, "repeat": [ 1, 6 ] }, + { "item": "farming_seeds", "x": [ 18, 22 ], "y": [ 18, 22 ], "chance": 10, "repeat": [ 1, 6 ] } + ], + "place_nested": [ { "chunks": [ [ "Sadie_spawn", 20 ] ], "x": 3, "y": 3 } ] + } + } +] diff --git a/data/mods/Aftershock/maps/nested/sadie_spawn.json b/data/mods/Aftershock/maps/nested/sadie_spawn.json new file mode 100644 index 0000000000000..2a915fd1e8af4 --- /dev/null +++ b/data/mods/Aftershock/maps/nested/sadie_spawn.json @@ -0,0 +1,8 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "Sadie_spawn", + "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "sadie", "x": 0, "y": 0 } ] } + } +] diff --git a/data/mods/Aftershock/npcs/Backgrounds/BGBR_Sadie.json b/data/mods/Aftershock/npcs/Backgrounds/BGBR_Sadie.json new file mode 100644 index 0000000000000..d2e813779d092 --- /dev/null +++ b/data/mods/Aftershock/npcs/Backgrounds/BGBR_Sadie.json @@ -0,0 +1,52 @@ +[ + { + "id": "BGSS_Sadie_STORY1", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "at_safe_space": true, + "no": "This might not be a very private place.", + "yes": "This feels like a good place to relax. Want to play doctor with real scalpels?" + }, + " ", + { + "npc_at_om_location": "field", + "no": "", + "yes": "This place is so boring. We should take people and kill some drugs." + }, + { + "npc_at_om_location": "water", + "no": "", + "yes": "Water water everywhere. Let's go skinny dipping. I bet you'll attract some leeches. I need them for something I want to do to you. It'll be so weird." + }, + { + "npc_at_om_location": "subterranean", + "no": "", + "yes": "I like it down here. This reminds me of that time I was down in a place like this and someone creeped up behind me and hit me in the back of the head with a shovel. *shiver* It still gives me goosebumps." + }, + { + "npc_at_om_location": "forest", + "no": "", + "yes": "I love nature. It smells so good out here, like living things growing and multiplying and dying and returning from the dead with horrifying new powers and trying to slowly rip us apart and eat us. It brings back really happy memories for me." + }, + { + "npc_at_om_location": "swamp", + "no": "", + "yes": "I love swampy places like this. The smell of the pussywillows, the sound of the crickets, the giant mutant mosquitoes hungry for our blood. It's like we're in a sexy vampire romance novel." + }, + { + "npc_at_om_location": "Lab", + "no": "", + "yes": "What a beautiful facility. I bet they have all kinds of lovely toys to play with. We should kill everyone here and do some creative self-experimentation." + }, + { + "npc_at_om_location": "Mansion_Wild", + "no": "", + "yes": "Ooh, it's like a murder mystery here. Are we the murderers, the murdered, or the mystery?" + } + ] + }, + "responses": [ { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] + } +] diff --git a/data/mods/Aftershock/npcs/Backgrounds/BG_BR_tableofcontents_AFS.json b/data/mods/Aftershock/npcs/Backgrounds/BG_BR_tableofcontents_AFS.json index dbbcd754ead53..7b110bae858b5 100644 --- a/data/mods/Aftershock/npcs/Backgrounds/BG_BR_tableofcontents_AFS.json +++ b/data/mods/Aftershock/npcs/Backgrounds/BG_BR_tableofcontents_AFS.json @@ -140,6 +140,12 @@ "topic": "BGSS_CYBERNINJA_STORY1", "condition": { "npc_has_trait": "BGSS_CYBERNINJA" }, "switch": true + }, + { + "text": "", + "topic": "BGSS_Sadie_STORY1", + "condition": { "npc_has_trait": "BGSS_Sadie" }, + "switch": true } ] } diff --git a/data/mods/Aftershock/npcs/Backgrounds/BG_traits_afs.json b/data/mods/Aftershock/npcs/Backgrounds/BG_traits_afs.json index 9dfb7d43d6634..1bc58ca235183 100644 --- a/data/mods/Aftershock/npcs/Backgrounds/BG_traits_afs.json +++ b/data/mods/Aftershock/npcs/Backgrounds/BG_traits_afs.json @@ -238,5 +238,18 @@ "purifiable": false, "types": [ "BACKGROUND_SURVIVAL_STORY" ], "flags": [ "BG_SURVIVAL_STORY" ] + }, + { + "type": "mutation", + "//": "This is a unique background story trait that should not be given out randomly.", + "id": "BGSS_Sadie", + "name": { "str": "Sadie Story" }, + "points": 0, + "description": "This NPC could tell you about how they survived the Cataclysm", + "player_display": false, + "valid": false, + "purifiable": false, + "types": [ "BACKGROUND_SURVIVAL_STORY" ], + "flags": [ "BG_SURVIVAL_STORY" ] } ] diff --git a/data/mods/Aftershock/npcs/classes.json b/data/mods/Aftershock/npcs/classes.json index cc5696dbc594b..97868873daeff 100644 --- a/data/mods/Aftershock/npcs/classes.json +++ b/data/mods/Aftershock/npcs/classes.json @@ -144,7 +144,7 @@ "class": "whately_cousin", "attitude": 0, "mission": 3, - "chat": "TALK_WHATELY_GENERIC1", + "chat": "TALK_WHATELY_1", "faction": "whately_family", "gender": "female" }, @@ -156,8 +156,78 @@ "class": "whately_cousin", "attitude": 0, "mission": 3, - "chat": "TALK_WHATELY_GENERIC1", + "chat": "TALK_WHATELY_1", "faction": "whately_family", "gender": "male" + }, + { + "type": "npc", + "id": "sadie", + "name_unique": "Sadie", + "name_suffix": "forgotten experiment", + "class": "afs_forgotten_experiment", + "attitude": 0, + "mission": 7, + "chat": "TALK_Sadie_1", + "mission_offered": "MISSION_sadie_heart", + "faction": "no_faction", + "gender": "female" + }, + { + "type": "npc_class", + "id": "afs_forgotten_experiment", + "name": "forgotten experiment", + "job_description": "What a magical world to explore…", + "common": false, + "worn_override": "NC_CYBORG_worn", + "carry_override": "NC_DOCTOR_misc", + "weapon_override": "EMPTY_GROUP", + "traits": [ + [ "PRETTY", 100 ], + [ "OPTIMISTIC", 100 ], + [ "FORGETFUL", 100 ], + [ "STR_UP_3", 100 ], + [ "THRESH_MEDICAL", 100 ], + [ "CENOBITE", 100 ], + { "group": "trait_group_medical" }, + { + "distribution": [ { "group": "trait_group_medical_nonthres" }, { "group": "trait_group_medical_postthres" } ] + }, + [ "BGSS_Sadie", 100 ] + ], + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -4 } ] } ] } }, + { "skill": "firstaid", "bonus": { "rng": [ 4, 8 ] } } + ], + "bionics": [ + { "id": "bio_ankles", "chance": 5 }, + { "id": "bio_batteries", "chance": 20 }, + { "id": "bio_carbon", "chance": 30 }, + { "id": "bio_claws", "chance": 10 }, + { "id": "bio_noise", "chance": 10 }, + { "id": "bio_power_weakness", "chance": 5 }, + { "id": "bio_itchy", "chance": 15 }, + { "id": "bio_laser", "chance": 10 }, + { "id": "bio_thumbs", "chance": 10 }, + { "id": "bio_spasm", "chance": 10 }, + { "id": "bio_shakes", "chance": 10 }, + { "id": "bio_dex_enhancer", "chance": 20 }, + { "id": "bio_sleepy", "chance": 5 }, + { "id": "bio_heat_absorb", "chance": 20 }, + { "id": "bio_eye_enhancer", "chance": 20 }, + { "id": "bio_pokedeye", "chance": 10 }, + { "id": "bio_hydraulics", "chance": 10 }, + { "id": "bio_painkiller", "chance": 15 }, + { "id": "bio_shock", "chance": 10 }, + { "id": "bio_speed", "chance": 10 }, + { "id": "bio_str_enhancer", "chance": 100 }, + { "id": "bio_armor_head", "chance": 3 }, + { "id": "bio_armor_torso", "chance": 15 }, + { "id": "bio_armor_arms", "chance": 30 }, + { "id": "bio_armor_legs", "chance": 25 }, + { "id": "bio_razors", "chance": 15 }, + { "id": "bio_power_storage", "chance": 100 }, + { "id": "bio_torsionratchet", "chance": 20 } + ] } ] diff --git a/data/mods/Aftershock/npcs/cyrus_whately.json b/data/mods/Aftershock/npcs/cyrus_whately.json index e42509a09d772..cd054180e4771 100644 --- a/data/mods/Aftershock/npcs/cyrus_whately.json +++ b/data/mods/Aftershock/npcs/cyrus_whately.json @@ -149,7 +149,7 @@ "goal": "MGOAL_FIND_ITEM", "difficulty": 4, "value": 0, - "item": "mutagen", + "item": "mutagen_alpha", "count": 3, "origins": [ "ORIGIN_SECONDARY" ], "followup": "MISSION_FRANKENSTEIN_4", @@ -175,7 +175,7 @@ "difficulty": 6, "value": 0, "item": "bot_broken_cyborg", - "count": 3, + "count": 1, "origins": [ "ORIGIN_SECONDARY" ], "followup": "MISSION_FRANKENSTEIN_5", "dialogue": { diff --git a/data/mods/Aftershock/npcs/sadie.json b/data/mods/Aftershock/npcs/sadie.json new file mode 100644 index 0000000000000..618b7a0a7c16e --- /dev/null +++ b/data/mods/Aftershock/npcs/sadie.json @@ -0,0 +1,219 @@ +[ + { + "type": "effect_type", + "id": "u_met_sadie" + }, + { + "type": "effect_type", + "id": "sadie_injection", + "name": [ "Sadie's injection" ], + "desc": [ "" ], + "blood_analysis_description": "Several hundred lines of text list a series of complex biological molecules with unknown interactions. Many appear to be associated with healing and immune response. Only a few are known to be poisonous and many are known carcinogens. Several have psychological and hormonal effects.", + "rating": "mixed", + "apply_message": "A wave of cold runs through your body and you feel dizzy", + "remove_message": "The effects of Sadie's injection appear to be wearing off now", + "removes_effects": [ "bite", "flu" ], + "blocks_effects": [ "bite", "cold", "flu" ], + "base_mods": { "str_mod": [ 1 ], "sleep_chance": [ -1003 ], "sleep_min": [ 2500 ], "sleep_max": [ 3500 ] } + }, + { + "type": "talk_topic", + "id": "TALK_Sadie_1", + "dynamic_line": { + "u_has_var": "u_met_sadie", + "type": "general", + "context": "meeting", + "value": "yes", + "yes": [ + "Are we meeting again or did we already do that part?", + "You remind me of my friend Billy.", + "What an amazing world to be alive in, more or less.", + "My head always beats when I see you. Or is that my heart? I should check that.", + "It's always so nice to be seen." + ], + "no": "Hello Billy. Back again to try and kill me? It won't work, you should just give up." + }, + "responses": [ + { + "text": "What, who is Billy?", + "effect": { "u_add_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" }, + "condition": { "not": { "u_has_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" } }, + "topic": "TALK_sadie_firstmeet" + }, + { + "text": "Die foul creature!", + "effect": [ { "u_add_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" }, "insult_combat" ], + "condition": { "not": { "u_has_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" } }, + "topic": "TALK_DONE" + }, + { + "text": "What did you just inject me with?", + "condition": { "u_has_var": "sadie_injection", "type": "general", "context": "injection", "value": "yes" }, + "topic": "TALK_sadie_injection" + }, + { + "text": "Would you like to come with me Sadie?", + "topic": "TALK_sadie_follow", + "condition": { + "and": [ { "not": "npc_following" }, { "u_has_var": "sadie_heart", "type": "general", "context": "heart", "value": "yes" } ] + } + }, + { + "text": "Can you inject me with whatever that was again?", + "condition": { "u_has_var": "sadie_heart", "type": "general", "context": "heart", "value": "yes" }, + "topic": "TALK_sadie_injection2" + }, + { + "text": "How did you get here?", + "condition": { + "and": [ + { "u_has_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" }, + { "not": { "u_has_var": "sadie_heart", "type": "general", "context": "heart", "value": "yes" } } + ] + }, + "topic": "TALK_sadie_ask_past" + }, + { + "text": "How are things here?", + "condition": { + "and": [ + { "u_has_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" }, + { "not": { "u_has_var": "sadie_heart", "type": "general", "context": "heart", "value": "yes" } } + ] + }, + "topic": "TALK_sadie_ask_mood" + }, + { + "text": "Can I do anything for you?", + "condition": { "u_has_var": "u_met_sadie", "type": "general", "context": "meeting", "value": "yes" }, + "topic": "TALK_MISSION_LIST" + }, + { "text": "Goodbye.", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_firstmeet", + "dynamic_line": "Oh. I see now. You have different sexual traits than Billy, likely due to a mutation or cybernetic enhancement, useful in mating rituals, the act of reproduction, and establishing social hierarchies. Very good, I accept that you are either not Billy or have changed enough that we can establish a new relationship beyond violence, for example based around the gathering of food, mating, or shared hobbies such as badminton or photography. How do you wish to proceed with our relationship not-Billy?", + "responses": [ + { "text": "I'd like to understand more about you first. Are you human, more or less?", "topic": "TALK_sadie_what" }, + { "text": "You are aware of the Cataclysm?", "topic": "TALK_sadie_cataclysm" }, + { "text": "I am your new friend and I'm here to help you.", "topic": "TALK_Sadie_1" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_what", + "dynamic_line": "Yes, much of what you see is human I think. I don't have the proper equipment to be entirely sure and I have some strange memories. My beacon has already told you that I am Sadie. Beyond that I don't know much to tell you. I know a great deal about medicine. I have some strange responses to physical stimuli that I don't completely understand. I think I must be a medical experiment of some kind. My chest hurts in a really yummy way.", + "responses": [ { "text": "Can I help you?", "topic": "TALK_MISSION_LIST" }, { "text": "I should go.", "topic": "TALK_DONE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_ask_past", + "dynamic_line": "I have so many memories, but they feel like they belong to other people? And animals too I think? It makes me dizzy and I have to sit down.", + "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_Sadie_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_cataclysm", + "dynamic_line": "I don't know her.", + "responses": [ { "text": "Yes. Let's talk about something else.", "topic": "TALK_Sadie_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_ask_mood", + "dynamic_line": "Things stay pretty much the same here. Sometimes I feel bad, and that feels good, and sometimes I feel good, and that feels good too. Overall things are better than you might expect, but this may be a common experience, in which case things are exactly as you might expect. Does that make sense?", + "responses": [ { "text": "Perfect sense.", "topic": "TALK_Sadie_1" } ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_injection", + "dynamic_line": "I hope you like it, it's one of my favorite things in the world, actually a lot of them all blended together. It should feel really good. Or really bad, I guess I don't know much about your body chemistry. You're still alive, that's a really good sign!", + "responses": [ + { + "text": "Wonderful. Please don't inject me with anything else unless I ask for it in the future.", + "effect": [ + { "u_lose_var": "sadie_injection", "type": "general", "context": "injection" }, + { "u_add_var": "sadie_heart", "type": "general", "context": "heart", "value": "yes" } + ], + "topic": "TALK_Sadie_1" + } + ] + }, + { + "type": "talk_topic", + "id": "TALK_sadie_injection2", + "dynamic_line": "I'm so glad you liked it. It really means a lot to me that we have similar body chemistry. That's so important for all kinds of biological and emotional compatibility for example organ transplants and the reproductive act. This shows how I feel about you, I think.", + "responses": [ + { + "text": "I'm glad we get along so well Sadie.", + "effect": [ "give_aid", { "u_add_effect": "sadie_injection", "duration": 200000 } ], + "topic": "TALK_Sadie_1" + } + ] + }, + { + "id": "TALK_sadie_follow", + "type": "talk_topic", + "dynamic_line": { + "u_has_var": "u_freed_sadie", + "type": "general", + "context": "free", + "value": "yes", + "no": [ + "I can't wait to see how wonderful the world must be. I've heard the shrieking and moaning and cries for help and I just know it's going to be perfect if everyone out there is as sweet and loving as you and Billy." + ], + "yes": [ + "Let's go explore. There's still so much these eyes haven't seen. Wait, are these new eyes? Where did I put my old eyes? Are they pretty?" + ] + }, + "responses": [ + { + "text": "Yes, everyone left is exactly like Billy and me, or worse.", + "condition": { "not": { "u_has_var": "u_freed_sadie", "type": "general", "context": "free", "value": "yes" } }, + "effect": [ "follow", { "u_add_var": "u_freed_sadie", "type": "general", "context": "free", "value": "yes" } ], + "topic": "TALK_DONE" + }, + { + "text": "They're even better. Let's go.", + "condition": { "and": [ { "u_has_var": "u_freed_sadie", "type": "general", "context": "free", "value": "yes" } ] }, + "effect": [ "follow" ], + "topic": "TALK_DONE" + } + ] + }, + { + "id": "MISSION_sadie_heart", + "type": "mission_definition", + "name": "Heart for Sadie", + "description": "Find a special organ", + "goal": "MGOAL_FIND_ITEM", + "difficulty": 5, + "value": 0, + "item": "flesh_golem_heart", + "count": 1, + "start": { + "assign_mission_target": { "om_terrain": "forest_thick", "reveal_radius": 1, "random": true, "search_range": 18, "min_distance": 5, "z": 0 }, + "update_mapgen": { "place_monster": [ { "monster": "mon_flesh_golem", "x": 11, "y": 11, "target": true, "name": "Billy" } ] } + }, + "origins": [ "ORIGIN_SECONDARY" ], + "dialogue": { + "describe": "I want your organ.", + "offer": "I've been feeling really yummy since the last time Billy came to work on me, and I think it's because my heart is gone. Like literally gone. I checked. Billy did a really good job taking it out, but I want to leave this storage unit with you and if I'm going to do that I need a working heart. My first idea was to take yours, but you probably need it even more. You know who has a nice big juicy heart? Billy does. And I bet I know where Billy is.", + "accepted": "Aw, I heart that you're going to help me get that big organ.", + "rejected": "This makes me sad. Which makes me happy. So thanks? Let me know if you change your mind. I probably shouldn't go without a heart for too too long but I'm kind of enjoying it. It's like always being on the edge of something horrible, but in a nice way.", + "advice": "Please be careful cutting that heart out. If you ruin it I don't know about another good one nearby. Maybe practice on some friends and neighbors first, you really want to be sure and get it right. If you break Billy's heart I can use a heart from another of whatever Billy is, but I can't use regular hearts, and I don't know where to find more Billy types.", + "inquire": "Do you have my heart?", + "success": "Ooh, Billy had a really good heart. Can you turn away please? I just need to do some quick open chest surgery here. Just a quick cut here *ooh* and I need to break this and this *SNAP* *oh!* and just sew some little things together here quickly. Not as much blood as you'd think. I should probably look into that later, there should be more blood in there. Ah, good enough, I can do a better job closing up later. Kind of tingly, feeling everything moving again in there. See, heart surgery isn't hard if you have the right attitude. Well now, you need a good reward for everything you've done for me. Here, let me inject you with this.", + "success_lie": "I don't know why, but I feel better. Also worse. Maybe I'm good without it.", + "failure": "Oh no, my heart. Thank you for trying though, your failure gives me pleasure. What else are you bad at?" + }, + "end": { + "effect": [ + "give_aid", + { "u_add_effect": "sadie_injection", "duration": 200000 }, + { "u_add_var": "sadie_injection", "type": "general", "context": "injection", "value": "yes" } + ] + } + } +]