From 9afbea92710fa020d1f6d1ff86673679d2227d7d Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Sat, 14 Jan 2023 11:04:52 -0800 Subject: Deprecate TALK json. --- npcs/TALK_MAID_ALLY.json | 408 ------------------------------------------- npcs/TALK_MAID_ALLY.json.old | 408 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 408 insertions(+), 408 deletions(-) delete mode 100644 npcs/TALK_MAID_ALLY.json create mode 100644 npcs/TALK_MAID_ALLY.json.old diff --git a/npcs/TALK_MAID_ALLY.json b/npcs/TALK_MAID_ALLY.json deleted file mode 100644 index 6ccb492..0000000 --- a/npcs/TALK_MAID_ALLY.json +++ /dev/null @@ -1,408 +0,0 @@ -[ - { - "id": [ "TALK_MAID_ALLY" ], - "type": "talk_topic", - "dynamic_line": { - "is_by_radio": " *pshhhttt* I'm reading you Mistress, over.", - "no": { "has_reason": { "use_reason": true }, "no": "What is it, Mistress?" } - }, - "speaker_effect": { - "sentinel": "maid_init", - "condition": { "npc_rule": "allow_pick_up" }, - "effect": { "toggle_npc_rule": "allow_pick_up", "opinion": { "trust": 5, "value": 5, "anger": -5, "fear": -5 } } - }, - "responses": [ - { "text": "I want to give you some commands for combat.", "topic": "TALK_COMBAT_COMMANDS" }, - { "text": "I want to set some miscellaneous rules.", "topic": "TALK_MISC_RULES_MAID" }, - { - "text": "I'd like to know a bit more about your abilities.", - "topic": "TALK_MAID_ALLY", - "effect": "reveal_stats" - }, - { "text": "There's something I want you to do.", "topic": "TALK_MAID_ORDERS" }, - { "text": "I just wanted to talk for a bit.", "topic": "TALK_MAID_SOCIAL" }, - { "text": "I'd like you to join on as my companion.", "topic": "TALK_SUGGEST_FOLLOW" }, - { "text": "I'm going to go my own way for a while.", "topic": "TALK_LEAVE" }, - { "text": "Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": [ "TALK_MAID_SOCIAL" ], - "type": "talk_topic", - "dynamic_line": { - "is_by_radio": " *tshk* Whatever you desire, Mistress. Though perhaps we should meet up first?", - "no": "Is there something you need help with, Mistress?" - }, - "responses": [ - { - "text": "Mind if we just chat for a bit about your history?", - "topic": "TALK_MAID_CONVERSATION", - "condition": { - "and": [ "at_safe_space", { "or": [ { "npc_has_trait_flag": "BG_SURVIVAL_STORY" }, { "npc_has_trait": "NPC_STATIC_NPC" } ] } ] - }, - "//": "If the NPC already has a BG story, or started out as a static NPC (and so probably doesn't need a random bg story), then go on.", - "switch": true - }, - { - "text": "Mind if we just chat for a bit about your history?", - "topic": "TALK_MAID_CONVERSATION", - "condition": "at_safe_space", - "switch": true, - "effect": { "npc_add_trait": "BGSS_MAID_KAWAII_1" }, - "//": "If the NPC doesn't have a BG survival story flagged trait, and didn't start the game as a static NPC, give them a BG story.", - "//2": "This is a stand-in for some kind of better system to add a random trait." - }, - { - "text": "Mind if we just chat for a bit about your history?", - "topic": "TALK_CONVERSATION_DANGER_MAID", - "condition": { "not": "at_safe_space" }, - "switch": true - }, - { - "text": "Mind if we just chat for a bit about your history?", - "topic": "TALK_MAID_CONVERSATION", - "condition": { "not": "is_by_radio" }, - "switch": true - }, - { - "text": "Let's just chitchat for a while, I could use some relaxation.", - "topic": "TALK_FRIEND_CHAT", - "condition": { "not": { "or": [ { "npc_has_effect": "asked_to_socialize" }, { "npc_has_trait": "THRESH_SHOGGOTH" } ] } } - }, - { - "text": "Let's just chitchat for a while, I could use some relaxation.", - "topic": "TALK_SHOGGOTH_CHAT", - "condition": { "not": { "or": [ { "npc_has_effect": "asked_to_socialize" }, { "not": { "npc_has_trait": "THRESH_SHOGGOTH" } } ] } } - }, - { "text": "Can I do anything for you?", "topic": "TALK_MISSION_LIST" }, - { "text": "I changed my mind, wanted to ask you something else.", "topic": "TALK_MAID_ALLY" }, - { "text": "Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": [ "TALK_MAID_ORDERS" ], - "type": "talk_topic", - "dynamic_line": [ "As you command, my Mistress.", "Do you have orders for me?", "How can I serve you?", "Just say the word." ], - "responses": [ - { - "text": "Can you teach me anything?", - "condition": { "not": "is_by_radio" }, - "trial": { - "type": "CONDITION", - "condition": { - "or": [ - { "npc_need": "thirst", "amount": 80 }, - { "npc_need": "hunger", "amount": 160 }, - { "npc_need": "fatigue", "level": "TIRED" }, - { "npc_has_effect": "asked_to_train" }, - "u_driving", - "npc_driving" - ] - } - }, - "success": { "topic": "TALK_DENY_TRAIN" }, - "failure": { "topic": "TALK_TRAIN_PERSUADE_MAID" } - }, - { - "text": "Let's trade items.", - "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, - "topic": "TALK_MAID_ALLY", - "effect": "start_trade", - "switch": true, - "default": true - }, - { - "text": "Let's trade items", - "topic": "TRADE_HALLU", - "condition": { "npc_has_trait": "HALLUCINATION" }, - "switch": true, - "default": false - }, - { - "text": "I want you to use this item.", - "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, - "topic": "TALK_MAID_ALLY", - "effect": "npc_gets_item_to_use" - }, - { - "text": "Hold on to this item.", - "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, - "topic": "TALK_MAID_ALLY", - "effect": "npc_gets_item" - }, - { - "text": "Guard this position.", - "condition": { "not": "is_by_radio" }, - "topic": "TALK_MAID_GUARD", - "effect": "assign_guard" - }, - { - "text": "I want to assign you to work at this camp.", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, - "topic": "TALK_MAID_GUARD", - "effect": "assign_camp" - }, - { - "text": "Find a horse and mount up!", - "condition": { "not": "npc_is_riding" }, - "topic": "TALK_DONE", - "effect": "find_mount" - }, - { - "text": "Get off your mount, please.", - "condition": "npc_is_riding", - "topic": "TALK_DONE", - "effect": "dismount" - }, - { - "text": "Please go to this location.", - "topic": "TALK_GOTO_LOCATION", - "condition": { "or": [ "is_by_radio", "u_has_camp" ] }, - "effect": "goto_location" - }, - { - "text": "I want you to build a camp here.", - "topic": "TALK_HALLU_CAMP", - "condition": { "npc_has_trait": "HALLUCINATION" }, - "switch": true - }, - { - "text": "I want you to build a camp here.", - "topic": "TALK_DONE", - "effect": "start_camp", - "condition": { "npc_at_om_location": "FACTION_CAMP_START" }, - "switch": true, - "default": true - }, - { - "text": "Since we can't build a camp here, I want you to tell me where can we build a camp?", - "topic": "TALK_CAMP_SITES", - "condition": { "not": { "npc_at_om_location": "FACTION_CAMP_START" } }, - "switch": true, - "default": true - }, - { - "text": "We need to abandon this camp.", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, - "topic": "TALK_DONE", - "effect": "abandon_camp" - }, - { - "text": "Show me what needs to be done at the camp.", - "topic": "TALK_DONE", - "effect": "basecamp_mission", - "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" } - }, - { "text": "Let's talk about your current activity.", "topic": "TALK_ACTIVITIES" }, - { "text": "Let's go.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_MAID_GUARD", - "type": "talk_topic", - "dynamic_line": "With my life, Mistress!", - "responses": [ - { "text": "I need you to come with me.", "topic": "TALK_MAID_ALLY", "effect": "stop_guard" }, - { "text": "See you around.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_TRAIN_PERSUADE_MAID", - "type": "talk_topic", - "dynamic_line": "But Mistress...you can just leave everything to me!", - "responses": [ - { - "text": "Come on, we're friends.", - "trial": { "type": "PERSUADE", "difficulty": 0, "mod": [ [ "TRUST", 6 ], [ "VALUE", 2 ], [ "ANGER", -6 ] ] }, - "success": { "topic": "TALK_TRAIN" }, - "failure": { "topic": "TALK_DENY_PERSONAL", "effect": { "npc_add_effect": "asked_to_train", "duration": 3600 } } - }, - { "text": "Forget it, let's get going.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_CONVERSATION_DANGER_MAID", - "type": "talk_topic", - "dynamic_line": "Are you sure? This doesn't seem like a particularly safe place for small talk…", - "responses": [ - { "text": "It's fine, we've got a moment.", "topic": "TALK_MAID_CONVERSATION" }, - { "text": "You're right. Forget I said anything, let's get moving.", "topic": "TALK_DONE" } - ] - }, - { - "id": "TALK_MAID_CONVERSATION", - "type": "talk_topic", - "dynamic_line": "My history? You mean before I served you? ...I'm sorry, but...", - "responses": [ { "text": "Actually, never mind.", "topic": "TALK_DONE" } ] - }, - { - "id": "TALK_SHOGGOTH_CHAT", - "type": "talk_topic", - "dynamic_line": "", - "responses": [ - { - "text": "", - "topic": "TALK_DONE", - "switch": true, - "effect": [ "morale_chat_activity", { "npc_add_effect": "asked_to_socialize", "duration": 7000 } ] - } - ] - }, - { - "id": "TALK_MISC_RULES_MAID", - "type": "talk_topic", - "dynamic_line": { - "and": [ - { - "and": [ - { "npc_override": "allow_pick_up", "yes": "OVERRIDE: " }, - { - "npc_rule": "allow_pick_up", - "yes": { "has_pickup_list": "", "no": "" }, - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "allow_bash", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "allow_bash", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "allow_sleep", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "allow_sleep", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "allow_complain", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "allow_complain", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "allow_pulp", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "allow_pulp", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "close_doors", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "close_doors", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "ignore_noise", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "ignore_noise", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "avoid_doors", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "avoid_doors", - "yes": "", - "no": "" - } - ] - }, - { - "and": [ - { "npc_override": "forbid_engage", "yes": " OVERRIDE: ", "no": " " }, - { - "npc_rule": "forbid_engage", - "yes": "", - "no": "" - } - ] - } - ] - }, - "responses": [ - { - "truefalsetext": { "condition": { "npc_rule": "allow_pick_up" }, "true": "Don't pick up items.", "false": "You can pick up items now." }, - "topic": "TALK_MISC_RULES_MAID", - "condition": { "not": { "npc_has_trait": "MAID_RESTRICT" } }, - "effect": { "toggle_npc_rule": "allow_pick_up" } - }, - { - "truefalsetext": { "condition": { "npc_rule": "allow_bash" }, "true": "Don't bash obstacles.", "false": "You can bash obstacles." }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "allow_bash" } - }, - { - "truefalsetext": { "condition": { "npc_rule": "allow_sleep" }, "true": "Stay awake.", "false": "Sleep when you feel tired." }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "allow_sleep" } - }, - { - "truefalsetext": { "condition": { "npc_rule": "allow_complain" }, "true": "Stay quiet.", "false": "Tell me when you need something." }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "allow_complain" } - }, - { - "truefalsetext": { "condition": { "npc_rule": "allow_pulp" }, "true": "Leave corpses alone.", "false": "Smash zombie corpses." }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "allow_pulp" } - }, - { - "truefalsetext": { "condition": { "npc_rule": "close_doors" }, "true": "Leave doors open.", "false": "Close the doors." }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "close_doors" } - }, - { - "truefalsetext": { - "condition": { "npc_rule": "avoid_doors" }, - "true": "Open doors to get where you're going.", - "false": "Don't walk through closed doors." - }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "avoid_doors" } - }, - { - "truefalsetext": { - "condition": { "npc_rule": "ignore_noise" }, - "true": "If you hear a noise but can't see the source, move to investigate it.", - "false": "Don't investigate noises that you can't see." - }, - "topic": "TALK_MISC_RULES_MAID", - "effect": { "toggle_npc_rule": "ignore_noise" } - }, - { - "text": "Set up pickup rules.", - "topic": "TALK_MISC_RULES_MAID", - "condition": { "not": { "npc_has_trait": "MAID_RESTRICT" } }, - "effect": "set_npc_pickup" - }, - { "text": "Clear all overrides.", "topic": "TALK_MISC_RULES_MAID", "effect": "clear_overrides" }, - { "text": "Never mind.", "topic": "TALK_DONE" } - ] - } -] diff --git a/npcs/TALK_MAID_ALLY.json.old b/npcs/TALK_MAID_ALLY.json.old new file mode 100644 index 0000000..6ccb492 --- /dev/null +++ b/npcs/TALK_MAID_ALLY.json.old @@ -0,0 +1,408 @@ +[ + { + "id": [ "TALK_MAID_ALLY" ], + "type": "talk_topic", + "dynamic_line": { + "is_by_radio": " *pshhhttt* I'm reading you Mistress, over.", + "no": { "has_reason": { "use_reason": true }, "no": "What is it, Mistress?" } + }, + "speaker_effect": { + "sentinel": "maid_init", + "condition": { "npc_rule": "allow_pick_up" }, + "effect": { "toggle_npc_rule": "allow_pick_up", "opinion": { "trust": 5, "value": 5, "anger": -5, "fear": -5 } } + }, + "responses": [ + { "text": "I want to give you some commands for combat.", "topic": "TALK_COMBAT_COMMANDS" }, + { "text": "I want to set some miscellaneous rules.", "topic": "TALK_MISC_RULES_MAID" }, + { + "text": "I'd like to know a bit more about your abilities.", + "topic": "TALK_MAID_ALLY", + "effect": "reveal_stats" + }, + { "text": "There's something I want you to do.", "topic": "TALK_MAID_ORDERS" }, + { "text": "I just wanted to talk for a bit.", "topic": "TALK_MAID_SOCIAL" }, + { "text": "I'd like you to join on as my companion.", "topic": "TALK_SUGGEST_FOLLOW" }, + { "text": "I'm going to go my own way for a while.", "topic": "TALK_LEAVE" }, + { "text": "Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": [ "TALK_MAID_SOCIAL" ], + "type": "talk_topic", + "dynamic_line": { + "is_by_radio": " *tshk* Whatever you desire, Mistress. Though perhaps we should meet up first?", + "no": "Is there something you need help with, Mistress?" + }, + "responses": [ + { + "text": "Mind if we just chat for a bit about your history?", + "topic": "TALK_MAID_CONVERSATION", + "condition": { + "and": [ "at_safe_space", { "or": [ { "npc_has_trait_flag": "BG_SURVIVAL_STORY" }, { "npc_has_trait": "NPC_STATIC_NPC" } ] } ] + }, + "//": "If the NPC already has a BG story, or started out as a static NPC (and so probably doesn't need a random bg story), then go on.", + "switch": true + }, + { + "text": "Mind if we just chat for a bit about your history?", + "topic": "TALK_MAID_CONVERSATION", + "condition": "at_safe_space", + "switch": true, + "effect": { "npc_add_trait": "BGSS_MAID_KAWAII_1" }, + "//": "If the NPC doesn't have a BG survival story flagged trait, and didn't start the game as a static NPC, give them a BG story.", + "//2": "This is a stand-in for some kind of better system to add a random trait." + }, + { + "text": "Mind if we just chat for a bit about your history?", + "topic": "TALK_CONVERSATION_DANGER_MAID", + "condition": { "not": "at_safe_space" }, + "switch": true + }, + { + "text": "Mind if we just chat for a bit about your history?", + "topic": "TALK_MAID_CONVERSATION", + "condition": { "not": "is_by_radio" }, + "switch": true + }, + { + "text": "Let's just chitchat for a while, I could use some relaxation.", + "topic": "TALK_FRIEND_CHAT", + "condition": { "not": { "or": [ { "npc_has_effect": "asked_to_socialize" }, { "npc_has_trait": "THRESH_SHOGGOTH" } ] } } + }, + { + "text": "Let's just chitchat for a while, I could use some relaxation.", + "topic": "TALK_SHOGGOTH_CHAT", + "condition": { "not": { "or": [ { "npc_has_effect": "asked_to_socialize" }, { "not": { "npc_has_trait": "THRESH_SHOGGOTH" } } ] } } + }, + { "text": "Can I do anything for you?", "topic": "TALK_MISSION_LIST" }, + { "text": "I changed my mind, wanted to ask you something else.", "topic": "TALK_MAID_ALLY" }, + { "text": "Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": [ "TALK_MAID_ORDERS" ], + "type": "talk_topic", + "dynamic_line": [ "As you command, my Mistress.", "Do you have orders for me?", "How can I serve you?", "Just say the word." ], + "responses": [ + { + "text": "Can you teach me anything?", + "condition": { "not": "is_by_radio" }, + "trial": { + "type": "CONDITION", + "condition": { + "or": [ + { "npc_need": "thirst", "amount": 80 }, + { "npc_need": "hunger", "amount": 160 }, + { "npc_need": "fatigue", "level": "TIRED" }, + { "npc_has_effect": "asked_to_train" }, + "u_driving", + "npc_driving" + ] + } + }, + "success": { "topic": "TALK_DENY_TRAIN" }, + "failure": { "topic": "TALK_TRAIN_PERSUADE_MAID" } + }, + { + "text": "Let's trade items.", + "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, + "topic": "TALK_MAID_ALLY", + "effect": "start_trade", + "switch": true, + "default": true + }, + { + "text": "Let's trade items", + "topic": "TRADE_HALLU", + "condition": { "npc_has_trait": "HALLUCINATION" }, + "switch": true, + "default": false + }, + { + "text": "I want you to use this item.", + "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, + "topic": "TALK_MAID_ALLY", + "effect": "npc_gets_item_to_use" + }, + { + "text": "Hold on to this item.", + "condition": { "not": { "or": [ "is_by_radio", { "npc_has_trait": "MAID_RESTRICT" } ] } }, + "topic": "TALK_MAID_ALLY", + "effect": "npc_gets_item" + }, + { + "text": "Guard this position.", + "condition": { "not": "is_by_radio" }, + "topic": "TALK_MAID_GUARD", + "effect": "assign_guard" + }, + { + "text": "I want to assign you to work at this camp.", + "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, + "topic": "TALK_MAID_GUARD", + "effect": "assign_camp" + }, + { + "text": "Find a horse and mount up!", + "condition": { "not": "npc_is_riding" }, + "topic": "TALK_DONE", + "effect": "find_mount" + }, + { + "text": "Get off your mount, please.", + "condition": "npc_is_riding", + "topic": "TALK_DONE", + "effect": "dismount" + }, + { + "text": "Please go to this location.", + "topic": "TALK_GOTO_LOCATION", + "condition": { "or": [ "is_by_radio", "u_has_camp" ] }, + "effect": "goto_location" + }, + { + "text": "I want you to build a camp here.", + "topic": "TALK_HALLU_CAMP", + "condition": { "npc_has_trait": "HALLUCINATION" }, + "switch": true + }, + { + "text": "I want you to build a camp here.", + "topic": "TALK_DONE", + "effect": "start_camp", + "condition": { "npc_at_om_location": "FACTION_CAMP_START" }, + "switch": true, + "default": true + }, + { + "text": "Since we can't build a camp here, I want you to tell me where can we build a camp?", + "topic": "TALK_CAMP_SITES", + "condition": { "not": { "npc_at_om_location": "FACTION_CAMP_START" } }, + "switch": true, + "default": true + }, + { + "text": "We need to abandon this camp.", + "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" }, + "topic": "TALK_DONE", + "effect": "abandon_camp" + }, + { + "text": "Show me what needs to be done at the camp.", + "topic": "TALK_DONE", + "effect": "basecamp_mission", + "condition": { "npc_at_om_location": "FACTION_CAMP_ANY" } + }, + { "text": "Let's talk about your current activity.", "topic": "TALK_ACTIVITIES" }, + { "text": "Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_MAID_GUARD", + "type": "talk_topic", + "dynamic_line": "With my life, Mistress!", + "responses": [ + { "text": "I need you to come with me.", "topic": "TALK_MAID_ALLY", "effect": "stop_guard" }, + { "text": "See you around.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_TRAIN_PERSUADE_MAID", + "type": "talk_topic", + "dynamic_line": "But Mistress...you can just leave everything to me!", + "responses": [ + { + "text": "Come on, we're friends.", + "trial": { "type": "PERSUADE", "difficulty": 0, "mod": [ [ "TRUST", 6 ], [ "VALUE", 2 ], [ "ANGER", -6 ] ] }, + "success": { "topic": "TALK_TRAIN" }, + "failure": { "topic": "TALK_DENY_PERSONAL", "effect": { "npc_add_effect": "asked_to_train", "duration": 3600 } } + }, + { "text": "Forget it, let's get going.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_CONVERSATION_DANGER_MAID", + "type": "talk_topic", + "dynamic_line": "Are you sure? This doesn't seem like a particularly safe place for small talk…", + "responses": [ + { "text": "It's fine, we've got a moment.", "topic": "TALK_MAID_CONVERSATION" }, + { "text": "You're right. Forget I said anything, let's get moving.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_MAID_CONVERSATION", + "type": "talk_topic", + "dynamic_line": "My history? You mean before I served you? ...I'm sorry, but...", + "responses": [ { "text": "Actually, never mind.", "topic": "TALK_DONE" } ] + }, + { + "id": "TALK_SHOGGOTH_CHAT", + "type": "talk_topic", + "dynamic_line": "", + "responses": [ + { + "text": "", + "topic": "TALK_DONE", + "switch": true, + "effect": [ "morale_chat_activity", { "npc_add_effect": "asked_to_socialize", "duration": 7000 } ] + } + ] + }, + { + "id": "TALK_MISC_RULES_MAID", + "type": "talk_topic", + "dynamic_line": { + "and": [ + { + "and": [ + { "npc_override": "allow_pick_up", "yes": "OVERRIDE: " }, + { + "npc_rule": "allow_pick_up", + "yes": { "has_pickup_list": "", "no": "" }, + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "allow_bash", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "allow_bash", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "allow_sleep", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "allow_sleep", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "allow_complain", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "allow_complain", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "allow_pulp", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "allow_pulp", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "close_doors", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "close_doors", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "ignore_noise", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "ignore_noise", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "avoid_doors", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "avoid_doors", + "yes": "", + "no": "" + } + ] + }, + { + "and": [ + { "npc_override": "forbid_engage", "yes": " OVERRIDE: ", "no": " " }, + { + "npc_rule": "forbid_engage", + "yes": "", + "no": "" + } + ] + } + ] + }, + "responses": [ + { + "truefalsetext": { "condition": { "npc_rule": "allow_pick_up" }, "true": "Don't pick up items.", "false": "You can pick up items now." }, + "topic": "TALK_MISC_RULES_MAID", + "condition": { "not": { "npc_has_trait": "MAID_RESTRICT" } }, + "effect": { "toggle_npc_rule": "allow_pick_up" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_bash" }, "true": "Don't bash obstacles.", "false": "You can bash obstacles." }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "allow_bash" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_sleep" }, "true": "Stay awake.", "false": "Sleep when you feel tired." }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "allow_sleep" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_complain" }, "true": "Stay quiet.", "false": "Tell me when you need something." }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "allow_complain" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "allow_pulp" }, "true": "Leave corpses alone.", "false": "Smash zombie corpses." }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "allow_pulp" } + }, + { + "truefalsetext": { "condition": { "npc_rule": "close_doors" }, "true": "Leave doors open.", "false": "Close the doors." }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "close_doors" } + }, + { + "truefalsetext": { + "condition": { "npc_rule": "avoid_doors" }, + "true": "Open doors to get where you're going.", + "false": "Don't walk through closed doors." + }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "avoid_doors" } + }, + { + "truefalsetext": { + "condition": { "npc_rule": "ignore_noise" }, + "true": "If you hear a noise but can't see the source, move to investigate it.", + "false": "Don't investigate noises that you can't see." + }, + "topic": "TALK_MISC_RULES_MAID", + "effect": { "toggle_npc_rule": "ignore_noise" } + }, + { + "text": "Set up pickup rules.", + "topic": "TALK_MISC_RULES_MAID", + "condition": { "not": { "npc_has_trait": "MAID_RESTRICT" } }, + "effect": "set_npc_pickup" + }, + { "text": "Clear all overrides.", "topic": "TALK_MISC_RULES_MAID", "effect": "clear_overrides" }, + { "text": "Never mind.", "topic": "TALK_DONE" } + ] + } +] -- cgit v1.2.1