From c8ed3c944411cb6304a00f68fcee8c723ec34097 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Thu, 25 Apr 2024 11:59:38 -0400 Subject: [PATCH 01/40] Add inital content --- .../isherwood_farm/NPC_Chris_Isherwood.json | 81 ++++++++++++++++++- .../overmap/overmap_special/specials.json | 19 +++++ 2 files changed, 96 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 078e8820a4b1f..c258022e72b99 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -52,6 +52,13 @@ "and": [ { "not": { "u_is_wearing": "badge_marshal" } }, { "u_has_var": "u_heard_about_chris_ideas", "value": "yes" } ] } }, + { + "text": "[NEW MISSION LINE] So, what's the plan with this rescue?", + "condition": { + "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "isherwood_rescue_family_coming", "==", "1" ] } ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" + }, { "text": "I'd better get going.", "topic": "TALK_DONE", @@ -128,8 +135,9 @@ "dynamic_line": "They made their way to this weird spire like structure, I've never seen anything like it, it glistened in the sun like something organic. I think they could be holding Barry there, I've seen them arrive and leave with other humans.", "responses": [ { - "text": "If you join up with me, we can go check it out, I want to see what they are doing.", - "topic": "TALK_MISSION_OFFER" + "text": "[NEW MISSION LINE] I might be able to help you get Barry back, but we've got to plan this out.", + "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY" }, { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } @@ -167,6 +175,72 @@ { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY", + "dynamic_line": "[que exposition about a plan]", + "responses": [ + { "text": "[go it alone]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE" }, + { + "text": "[go with your own team]", + "condition": { "npc_allies": 3 }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM" + }, + { "text": "[take Chris with you]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE", + "dynamic_line": "[you quite sure? don't die]", + "responses": [ + { "text": "[i'm sure]", "topic": "TALK_DONE" }, + { "text": "[change mind, take Chris]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM", + "dynamic_line": "[good you got pals]", + "responses": [ + { "text": "[you want to come too?]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, + { "text": "[thanks bye be back with Barry]", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS", + "dynamic_line": "[yay lets kick butt. we need more?]", + "responses": [ + { "text": "[nah we good trust me bro]", "effect": "follow", "topic": "TALK_DONE" }, + { "text": "[sister come too?]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" }, + { "text": "[i think whole family needed]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_WHOLE_FAMILY" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA", + "dynamic_line": "[lemme go check she prob will good idea bro]", + "responses": [ { "text": "[okie dokie]", "effect": { "math": [ "isherwood_rescue_lisa_coming", "=", "1" ] }, "topic": "TALK_DONE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_WHOLE_FAMILY", + "dynamic_line": "[lemme go check they prob like we all love barry. Meet me again we plan more.]", + "responses": [ + { "text": "[okie dokie]", "effect": { "math": [ "isherwood_rescue_family_coming", "=", "1" ] }, "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN", + "dynamic_line": "[Fam pull up in truck with us & we start shooting. U get inside and get Barry then we leave. Anything go wrong we let u know. I want better gear & fortifications]", + "responses": [ + { "text": "[okie dokie lets go kick butt]", "topic": "TALK_DONE" }, + { "text": "[details on gear?]", "topic": "TALK_DONE" }, + { "text": "[details on fort?]", "topic": "TALK_DONE" } + ] + }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", @@ -175,8 +249,7 @@ "difficulty": 5, "value": 50000, "start": { - "effect": "follow", - "assign_mission_target": { "om_terrain": "mi-go_scout_tower_3", "om_special": "Mi-Go Scout Tower", "reveal_radius": 3 }, + "assign_mission_target": { "om_terrain": "mi-go_scout_tower_3", "om_special": "Barry's Mi-Go Scout Tower", "reveal_radius": 3 }, "update_mapgen": { "place_npcs": [ { "class": "isherwood_barry", "x": 18, "y": 15, "target": true } ] } }, "origins": [ "ORIGIN_SECONDARY" ], diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 31718f16149d5..95ec04fbdc20b 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -5317,6 +5317,25 @@ "flags": [ "MI-GO", "WILDERNESS" ], "spawns": { "group": "GROUP_MI-GO_CAMP_OM", "population": [ 2, 5 ], "radius": [ 2, 30 ] } }, + { + "type": "overmap_special", + "id": "Barry's Mi-Go Scout Tower", + "//": "This is a globally unqiue special used in the Isherwood rescue mission.", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "mi-go_scout_tower_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "mi-go_scout_tower_2_north" }, + { "point": [ 0, 0, 2 ], "overmap": "mi-go_scout_tower_3_north" }, + { "point": [ 0, 0, 3 ], "overmap": "mi-go_scout_tower_4_north" }, + { "point": [ 0, 1, 0 ], "overmap": "rural_road_north" } + ], + "locations": [ "wilderness" ], + "city_distance": [ 5, -1 ], + "city_sizes": [ 0, 20 ], + "occurrences": [ 70, 100 ], + "connections": [ { "point": [ 0, 2, 0 ], "terrain": "road", "connection": "local_road" } ], + "flags": [ "MI-GO", "WILDERNESS", "GLOBALLY_UNIQUE" ], + "spawns": { "group": "GROUP_MI-GO_CAMP_OM", "population": [ 2, 5 ], "radius": [ 2, 30 ] } + }, { "type": "overmap_special", "id": "Mi-Go Portal", From 90504d225b9251db07e3ff32558125d289ff0fad Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:12:06 -0700 Subject: [PATCH 02/40] Add dialogue to spots asking for dialogue --- .../isherwood_farm/NPC_Chris_Isherwood.json | 59 +++++++++++-------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index c258022e72b99..3055dd25e7122 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -53,9 +53,9 @@ } }, { - "text": "[NEW MISSION LINE] So, what's the plan with this rescue?", + "text": "Have you had any ideas for what your family could do?", "condition": { - "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "isherwood_rescue_family_coming", "==", "1" ] } ] + "math": [ "npc_timer_thinking_about_plan", "=", "time('1 h')" ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" }, @@ -178,67 +178,74 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY", - "dynamic_line": "[que exposition about a plan]", + "dynamic_line": "&Chris looks you up and down, and nods. \"I'm definitely not going to say no to a willing body, and you look like you know what's up.\" He sighs. \"To be honest with you, I've been a bit stuck. I can't tackle that thing alone, and I'm not willing to bring my dad or Uncle Eddie in either. Dad's got a bum knee - don't tell him I said that - and Eddie's not that great a shot. Luke's still too young for something like this… you get the idea.\" He leans forward, self-consciously running his hand through his hair. \"I think if we work together maybe we'd stand a chance. I don't have a great plan though. That tower doesn't look like something a person could just storm up to full-frontal style.\"", "responses": [ - { "text": "[go it alone]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE" }, + { "text": "Actually, I was just planning to go in by myself. I've handled worse.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE" }, + "condition": { "not": { "npc_allies": 1 } }, { - "text": "[go with your own team]", - "condition": { "npc_allies": 3 }, + "text": "I've got my own team here, we'll take this. You stay back here, keep the family safe.", + "condition": { "npc_allies": 1 }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM" }, - { "text": "[take Chris with you]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + { "text": "Yeah, I think we should work together on this. Do you mind if I take the lead? I've probably got more experience.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE", - "dynamic_line": "[you quite sure? don't die]", + "dynamic_line": "*looks at you with obvious doubt. \"You sure you know what you're getting into? I can't stop you if you plan on going in solo, but it seems like a terrible idea. Those things mean business. I won't be able to go in and help you if you get trapped too. It's probably better we pair up.\"", "responses": [ - { "text": "[i'm sure]", "topic": "TALK_DONE" }, - { "text": "[change mind, take Chris]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + { "text": "Trust me. See you in a bit.", "topic": "TALK_DONE", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } }, + { "text": "If you insist, yeah, we could team up.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM", - "dynamic_line": "[good you got pals]", + "dynamic_line": "Yeah, bringing your own people in is reasonable. Still, the more the better. It's my uncle in there, I'm more than willing to help out. I know my way around, I won't get in your way.", "responses": [ - { "text": "[you want to come too?]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, - { "text": "[thanks bye be back with Barry]", "topic": "TALK_DONE" } + { "text": "All right. As long as you follow my lead, we could use another pair of hands.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, + { "text": "It's all right. We've got this, you get things ready for when we return with Barry", "topic": "TALK_DONE", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS", - "dynamic_line": "[yay lets kick butt. we need more?]", + "dynamic_line": "*nods. \"I'm fine following your lead. I'm a good scout and hunter, but I've never done anything like this before. When you set the time, I'll head out and wait near the scout tower for you with the best gear I can get.\"", "responses": [ - { "text": "[nah we good trust me bro]", "effect": "follow", "topic": "TALK_DONE" }, - { "text": "[sister come too?]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" }, - { "text": "[i think whole family needed]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_WHOLE_FAMILY" } + { "text": "All right. Let's kick some alien butt.", "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } ], "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", "topic": "TALK_DONE" }, + { "text": "Is there anyone else around here that could help us?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" }, + { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA", - "dynamic_line": "[lemme go check she prob will good idea bro]", - "responses": [ { "text": "[okie dokie]", "effect": { "math": [ "isherwood_rescue_lisa_coming", "=", "1" ] }, "topic": "TALK_DONE" } ] + "dynamic_line": "Like I said, I don't really think my dad or uncle should help, and I think Luke's more likely to get injured than be helpful.", + "responses": [ { "text": "What about Lisa? She seems like she could handle herself.", "condition": { "u_has_var": "u_met_lisa_isherwood", "value": "yes" }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2" } ] }, { "type": "talk_topic", - "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_WHOLE_FAMILY", - "dynamic_line": "[lemme go check they prob like we all love barry. Meet me again we plan more.]", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2", + "dynamic_line": "*blinks. \"My… yeah, of course Lisa could come. Damn, she'd smack me if she knew I didn't think of that myself. Mind if I go talk to her about it? I'll get her to come out with me and we'll meet you together, if she's willing.\"", + "responses": [ { "text": "All right. Let's kick some alien butt.", "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } ], "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", "topic": "TALK_DONE" } ] + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS", + "dynamic_line": "Probably. They'd want to, for sure.\" He looks thoughtful. \"I'm sure we could use more help, but this isn't my strong suit. Let me think about it. If you have any ideas, run them by me.\"", + "speaker_effect": { "sentinel": "chris_thinking_about_plan", "effect": { "math": [ "npc_timer_thinking_about_plan", "=", "time('now')" ] } }, "responses": [ - { "text": "[okie dokie]", "effect": { "math": [ "isherwood_rescue_family_coming", "=", "1" ] }, "topic": "TALK_DONE" } + { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_NONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN", - "dynamic_line": "[Fam pull up in truck with us & we start shooting. U get inside and get Barry then we leave. Anything go wrong we let u know. I want better gear & fortifications]", + "dynamic_line": "Yeah. I think they should cover our exit. We've got an old truck they could set up as a platform, where Dad can put down covering fire without his knee being an issue. Eddie can drive, instead of shoot, and Luke or Mom can be ready with some first aid supplies. Then when we get out, we've got an easy getaway set up, and there's less chance of us getting flanked while we're in there looking for Barry.\" He looks at you, suddenly nervous. \"Is that a good plan?", "responses": [ - { "text": "[okie dokie lets go kick butt]", "topic": "TALK_DONE" }, - { "text": "[details on gear?]", "topic": "TALK_DONE" }, - { "text": "[details on fort?]", "topic": "TALK_DONE" } + { "text": "Seems like a good plan to me.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" }, + { "text": "I think it's better we take my vehicle, and just leave them out of it.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" } ] }, { From 1d68c1b3a8af9aa398239047c099d4be548e2b69 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Thu, 25 Apr 2024 22:28:09 -0400 Subject: [PATCH 03/40] Edit and refine dialogues --- .../isherwood_farm/NPC_Chris_Isherwood.json | 91 +++++++++++++++---- 1 file changed, 73 insertions(+), 18 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 3055dd25e7122..ecbf7ed98a26b 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -55,7 +55,10 @@ { "text": "Have you had any ideas for what your family could do?", "condition": { - "math": [ "npc_timer_thinking_about_plan", "=", "time('1 h')" ] + "and": [ + { "math": [ "npc_timer_thinking_about_plan", "==", "time('1 h')" ] }, + { "math": [ "isherwood_barry_rescued", "!=", "1" ] } + ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" }, @@ -136,6 +139,9 @@ "responses": [ { "text": "[NEW MISSION LINE] I might be able to help you get Barry back, but we've got to plan this out.", + "condition": { + "and": [ { "math": [ "isherwood_barry_rescued", "!=", "1" ] }, { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" } } ] + }, "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY" }, @@ -180,14 +186,20 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY", "dynamic_line": "&Chris looks you up and down, and nods. \"I'm definitely not going to say no to a willing body, and you look like you know what's up.\" He sighs. \"To be honest with you, I've been a bit stuck. I can't tackle that thing alone, and I'm not willing to bring my dad or Uncle Eddie in either. Dad's got a bum knee - don't tell him I said that - and Eddie's not that great a shot. Luke's still too young for something like this… you get the idea.\" He leans forward, self-consciously running his hand through his hair. \"I think if we work together maybe we'd stand a chance. I don't have a great plan though. That tower doesn't look like something a person could just storm up to full-frontal style.\"", "responses": [ - { "text": "Actually, I was just planning to go in by myself. I've handled worse.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE" }, - "condition": { "not": { "npc_allies": 1 } }, + { + "text": "Actually, I was just planning to go in by myself. I've handled worse.", + "condition": { "not": { "npc_allies": 1 } }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE" + }, { "text": "I've got my own team here, we'll take this. You stay back here, keep the family safe.", "condition": { "npc_allies": 1 }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM" }, - { "text": "Yeah, I think we should work together on this. Do you mind if I take the lead? I've probably got more experience.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + { + "text": "Yeah, I think we should work together on this. Do you mind if I take the lead? I've probably got more experience.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" + } ] }, { @@ -195,7 +207,7 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_GO_IT_ALONE", "dynamic_line": "*looks at you with obvious doubt. \"You sure you know what you're getting into? I can't stop you if you plan on going in solo, but it seems like a terrible idea. Those things mean business. I won't be able to go in and help you if you get trapped too. It's probably better we pair up.\"", "responses": [ - { "text": "Trust me. See you in a bit.", "topic": "TALK_DONE", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } }, + { "text": "Trust me. See you in a bit.", "topic": "TALK_DONE" }, { "text": "If you insist, yeah, we could team up.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } ] }, @@ -204,8 +216,14 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_OWN_TEAM", "dynamic_line": "Yeah, bringing your own people in is reasonable. Still, the more the better. It's my uncle in there, I'm more than willing to help out. I know my way around, I won't get in your way.", "responses": [ - { "text": "All right. As long as you follow my lead, we could use another pair of hands.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, - { "text": "It's all right. We've got this, you get things ready for when we return with Barry", "topic": "TALK_DONE", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } } + { + "text": "All right. As long as you follow my lead, we could use another pair of hands.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" + }, + { + "text": "It's all right. We've got this, you get things ready for when we return with Barry", + "topic": "TALK_DONE" + } ] }, { @@ -213,30 +231,61 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS", "dynamic_line": "*nods. \"I'm fine following your lead. I'm a good scout and hunter, but I've never done anything like this before. When you set the time, I'll head out and wait near the scout tower for you with the best gear I can get.\"", "responses": [ - { "text": "All right. Let's kick some alien butt.", "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } ], "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", "topic": "TALK_DONE" }, - { "text": "Is there anyone else around here that could help us?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" }, - { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" } + { + "text": "All right. Let's kick some alien butt.", + "effect": "follow", + "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", + "topic": "TALK_DONE" + }, + { + "text": "Is there anyone else around here that could help us?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" + }, + { + "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" + } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA", "dynamic_line": "Like I said, I don't really think my dad or uncle should help, and I think Luke's more likely to get injured than be helpful.", - "responses": [ { "text": "What about Lisa? She seems like she could handle herself.", "condition": { "u_has_var": "u_met_lisa_isherwood", "value": "yes" }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2" } ] + "responses": [ + { + "text": "What about Lisa? She seems like she could handle herself.", + "condition": { "u_has_var": "u_met_lisa_isherwood", "value": "yes" }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2" + }, + { + "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" + }, + { "text": "Well, I guess it's just us. Let's go.", "topic": "TALK_DONE" } + ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2", "dynamic_line": "*blinks. \"My… yeah, of course Lisa could come. Damn, she'd smack me if she knew I didn't think of that myself. Mind if I go talk to her about it? I'll get her to come out with me and we'll meet you together, if she's willing.\"", - "responses": [ { "text": "All right. Let's kick some alien butt.", "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1" } ], "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", "topic": "TALK_DONE" } ] + "responses": [ + { + "text": "All right. Let's kick some alien butt.", + "effect": "follow", + "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", + "topic": "TALK_DONE" + } + ] + }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS", "dynamic_line": "Probably. They'd want to, for sure.\" He looks thoughtful. \"I'm sure we could use more help, but this isn't my strong suit. Let me think about it. If you have any ideas, run them by me.\"", - "speaker_effect": { "sentinel": "chris_thinking_about_plan", "effect": { "math": [ "npc_timer_thinking_about_plan", "=", "time('now')" ] } }, - "responses": [ - { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_NONE" } - ] + "speaker_effect": { + "sentinel": "chris_thinking_about_plan", + "effect": { "math": [ "npc_timer_thinking_about_plan", "=", "time('now')" ] } + }, + "responses": [ { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_NONE" } ] }, { "type": "talk_topic", @@ -244,8 +293,14 @@ "dynamic_line": "Yeah. I think they should cover our exit. We've got an old truck they could set up as a platform, where Dad can put down covering fire without his knee being an issue. Eddie can drive, instead of shoot, and Luke or Mom can be ready with some first aid supplies. Then when we get out, we've got an easy getaway set up, and there's less chance of us getting flanked while we're in there looking for Barry.\" He looks at you, suddenly nervous. \"Is that a good plan?", "responses": [ { "text": "Seems like a good plan to me.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" }, - { "text": "I think it's better we take my vehicle, and just leave them out of it.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, - { "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" } + { + "text": "I think it's better we take my vehicle, and just leave them out of it.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" + }, + { + "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" + } ] }, { From 916e8e68b20b0ac77e434be55691e3cab6627b09 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Fri, 26 Apr 2024 14:40:46 -0400 Subject: [PATCH 04/40] Add the first sub-mission --- data/json/itemgroups/misc.json | 20 +++ .../nested/isherwood_mission_nested.json | 19 +++ .../isherwood_farm/NPC_Chris_Isherwood.json | 150 +++++++++++++++++- 3 files changed, 186 insertions(+), 3 deletions(-) create mode 100644 data/json/mapgen/nested/isherwood_mission_nested.json diff --git a/data/json/itemgroups/misc.json b/data/json/itemgroups/misc.json index ff621aecabb8d..74bfc5aa709e3 100644 --- a/data/json/itemgroups/misc.json +++ b/data/json/itemgroups/misc.json @@ -327,5 +327,25 @@ "id": "pillbox_any_empty", "subtype": "distribution", "items": [ "pillbox", "pillbox_large" ] + }, + { + "type": "item_group", + "id": "armor_riot", + "items": [ [ "armor_riot", 100 ] ] + }, + { + "type": "item_group", + "id": "helmet_riot", + "items": [ [ "helmet_riot", 100 ] ] + }, + { + "type": "item_group", + "id": "armor_riot_arm", + "items": [ [ "armor_riot_arm", 100 ] ] + }, + { + "type": "item_group", + "id": "armor_riot_leg", + "items": [ [ "armor_riot_leg", 100 ] ] } ] diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json new file mode 100644 index 0000000000000..20c585341e923 --- /dev/null +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -0,0 +1,19 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_riot_drop", + "object": { + "mapgensize": [ 1, 1 ], + "rows": [ "/" ], + "items": { + "/": [ + { "item": "armor_riot", "chance": 100, "repeat": 5 }, + { "item": "helmet_riot", "chance": 100, "repeat": 5 }, + { "item": "armor_riot_arm", "chance": 100, "repeat": 5 }, + { "item": "armor_riot_leg", "chance": 100, "repeat": 5 } + ] + } + } + } +] diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index ecbf7ed98a26b..fcc148b2fc34f 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -62,6 +62,43 @@ }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" }, + { + "text": "[i got cop gear to turn over]", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + { + "or": [ + { "u_has_item": "armor_riot" }, + { "u_has_item": "helmet_riot" }, + { "u_has_item": "armor_riot_arm" }, + { "u_has_item": "armor_riot_leg" } + ] + }, + { "math": [ "isherwood_gear_status", "<", "1" ] } + ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" + }, + { + "text": "[got all cop gear]", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + { + "and": [ + { "math": [ "isherwood_gear_retrival_armor_body_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_helmet_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_armor_arm_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_armor_leg_count", "==", "5" ] } + ] + }, + { "math": [ "isherwood_gear_status", "<", "1" ] } + ] + }, + "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": true }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done" + }, { "text": "I'd better get going.", "topic": "TALK_DONE", @@ -243,7 +280,7 @@ }, { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", - "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" } ] }, @@ -259,7 +296,7 @@ }, { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", - "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY__THE_ISHERWOODS" + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" }, { "text": "Well, I guess it's just us. Let's go.", "topic": "TALK_DONE" } ] @@ -269,6 +306,10 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2", "dynamic_line": "*blinks. \"My… yeah, of course Lisa could come. Damn, she'd smack me if she knew I didn't think of that myself. Mind if I go talk to her about it? I'll get her to come out with me and we'll meet you together, if she's willing.\"", "responses": [ + { + "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" + }, { "text": "All right. Let's kick some alien butt.", "effect": "follow", @@ -285,7 +326,7 @@ "sentinel": "chris_thinking_about_plan", "effect": { "math": [ "npc_timer_thinking_about_plan", "=", "time('now')" ] } }, - "responses": [ { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_NONE" } ] + "responses": [ { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", @@ -299,10 +340,84 @@ }, { "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", + "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" + } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2", + "dynamic_line": "Can you think of anything else we might need, or should we put this into action?", + "responses": [ + { + "text": "Let's go get your uncle back.", + "//": "This should trigger any EOCs that start the mission setup. To be done.", + "topic": "TALK_DONE" + }, + { + "text": "I've changed my mind. I think it's better we take my vehicle, and just leave them out of it.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" + }, + { + "text": "Come to think of it, one farmer with a hunting rifle is going to be enough to keep our backs safe.", + "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear", + "dynamic_line": "[yeah bro here's a drop go get the cop gear. there's 5 sets to bring back]", + "responses": [ + { "text": "[nah bro let's not bother]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { + "text": "[yeah bro i'll do it]", + "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + "topic": "TALK_DONE" + } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over", + "dynamic_line": "[ok what u got?]", + "responses": [ + { + "text": "[bod armor]", + "condition": { "and": [ { "u_has_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "<", "5" ] } ] }, + "effect": [ { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" + }, + { + "text": "[helmet]", + "condition": { "and": [ { "u_has_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "<", "5" ] } ] }, + "effect": [ { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" + }, + { + "text": "[arm armor]", + "condition": { "and": [ { "u_has_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "<", "5" ] } ] }, + "effect": [ { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" + }, + { + "text": "[leg armor]", + "condition": { "and": [ { "u_has_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "<", "5" ] } ] }, + "effect": [ { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" + }, + { "text": "That's all for now. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS" }, + { "text": "That's all for now. I'll see you later.", "topic": "TALK_DONE" } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done", + "dynamic_line": "[sweet now we beefed up.]", + "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] + }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", @@ -332,5 +447,34 @@ "opinion": { "trust": 5, "value": 5 }, "update_mapgen": [ { "om_terrain": "cabin_isherwood", "place_nested": [ { "chunks": [ "cabin_isherwood_update" ], "x": 3, "y": 1 } ] } ] } + }, + { + "id": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", + "type": "mission_definition", + "name": { "str": "Retrieve Riot Armor for the Isherwoods" }, + "goal": "MGOAL_NULL", + "difficulty": 1, + "value": 0, + "start": { + "assign_mission_target": { "om_terrain": "police_2ndfloor_1", "om_special": "police_1", "reveal_radius": 3 }, + "update_mapgen": [ + { "om_terrain": "police_2ndfloor_1", "place_nested": [ { "chunks": [ "isherwood_barry_riot_drop" ], "x": 1, "y": 5 } ] } + ] + }, + "end": { "effect": { "math": [ "isherwood_gear_status", "=", "1" ] } }, + "origins": [ "ORIGIN_SECONDARY" ], + "has_generic_rewards": false, + "//": "Dialogue for this mission is handled externally.", + "dialogue": { + "describe": ".", + "offer": ".", + "accepted": ".", + "rejected": ".", + "advice": ".", + "inquire": ".", + "success": ".", + "success_lie": ".", + "failure": "." + } } ] From 238c09cf45b241bdda114d5537e53e80b8766e00 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Fri, 26 Apr 2024 14:48:43 -0400 Subject: [PATCH 05/40] Add more rescue-specific mission nests --- .../special_use/isherwood_spawnpoints.json | 38 ++++++++++++ .../nested/isherwood_mission_nested.json | 59 +++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json diff --git a/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json b/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json new file mode 100644 index 0000000000000..5924b60f74dbe --- /dev/null +++ b/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json @@ -0,0 +1,38 @@ +[ + { + "type": "terrain", + "id": "t_dirt_isherwood_spawnpoint_1", + "name": "dirt", + "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", + "symbol": ".", + "color": "brown", + "copy-from": "t_dirt" + }, + { + "type": "terrain", + "id": "t_dirt_isherwood_spawnpoint_2", + "name": "dirt", + "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", + "symbol": ".", + "color": "brown", + "copy-from": "t_dirt" + }, + { + "type": "terrain", + "id": "t_dirt_isherwood_spawnpoint_3", + "name": "dirt", + "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", + "symbol": ".", + "color": "brown", + "copy-from": "t_dirt" + }, + { + "type": "terrain", + "id": "t_dirt_isherwood_spawnpoint_4", + "name": "dirt", + "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", + "symbol": ".", + "color": "brown", + "copy-from": "t_dirt" + } +] diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index 20c585341e923..28efa1f7ca3be 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -1,4 +1,63 @@ [ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_firing_wall", + "object": { + "mapgensize": [ 10, 10 ], + "rows": [ + "^^^^^^^^^^", + "^^^^^^^^^^", + "^^^^^^^^^^", + "----------", + "tttttttttt", + "t t", + " ", + " ", + " ", + " " + ], + "traps": { "-": "tr_beartrap", "^": "tr_nailboard" }, + "furniture": { "t": "f_earthbag_half" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_firing_line", + "object": { + "mapgensize": [ 10, 10 ], + "rows": [ + " ", + " ", + " ", + " ", + " ", + " . p q l ", + " ", + " ", + " ", + " " + ], + "terrain": { + ".": "t_dirt_isherwood_spawnpoint_1", + "p": "t_dirt_isherwood_spawnpoint_2", + "q": "t_dirt_isherwood_spawnpoint_3", + "l": "t_dirt_isherwood_spawnpoint_4" + }, + "place_vehicles": [ + { + "vehicle": "extended_pickup", + "chance": 100, + "fuel": 99, + "rotation": 0, + "faction": "isherwood_family", + "x": [ 5 ], + "y": [ 8 ] + } + ] + } + }, { "type": "mapgen", "method": "json", From 80136027277b6b3c19757148ca671e8ab0f6d483 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Fri, 26 Apr 2024 14:54:22 -0400 Subject: [PATCH 06/40] Add option to lie about the gear mission --- .../npcs/isherwood_farm/NPC_Chris_Isherwood.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index fcc148b2fc34f..9134c31e37456 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -99,6 +99,12 @@ "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": true }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done" }, + { + "text": "[LIE: someone took cop gear before I could. sorry]", + "condition": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": false }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail" + }, { "text": "I'd better get going.", "topic": "TALK_DONE", @@ -418,6 +424,12 @@ "dynamic_line": "[sweet now we beefed up.]", "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail", + "dynamic_line": "[aw shucks that's bad. now no sweet armor.]", + "responses": [ { "text": "[sorry]", "topic": "TALK_DONE" } ] + }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", From dd4daca618abcd904ef9e86ef4e9f6514d28d2fd Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Fri, 26 Apr 2024 19:51:14 -0400 Subject: [PATCH 07/40] Add the mission to build fortifications --- .../isherwood_farm/NPC_Chris_Isherwood.json | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 9134c31e37456..1e035e567e86e 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -105,6 +105,18 @@ "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": false }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail" }, + { + "text": "[got da 20 bags]", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" }, + { "u_has_items": { "item": "bag_canvas", "count": 20 } }, + { "math": [ "isherwood_wall_status", "<", "1" ] } + ] + }, + "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS", "success": true }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done" + }, { "text": "I'd better get going.", "topic": "TALK_DONE", @@ -348,6 +360,16 @@ "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" + }, + { + "text": "[lets build a wall.]", + "condition": { + "and": [ + { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" } }, + { "math": [ "isherwood_wall_status", "<", "1" ] } + ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall" } ] }, @@ -369,6 +391,16 @@ "text": "Come to think of it, one farmer with a hunting rifle is going to be enough to keep our backs safe.", "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" + }, + { + "text": "[lets build a wall.]", + "condition": { + "and": [ + { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" } }, + { "math": [ "isherwood_wall_status", "<", "1" ] } + ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall" } ] }, @@ -430,6 +462,31 @@ "dynamic_line": "[aw shucks that's bad. now no sweet armor.]", "responses": [ { "text": "[sorry]", "topic": "TALK_DONE" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall", + "dynamic_line": "[yeah bro that sounds sweet. I got a plan Dutch, get 20 canvas bags 4 me. I get traps and we lay a wall with da truck]", + "responses": [ + { "text": "[nah bro let's not bother]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { + "text": "[yeah bro i'll do it]", + "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" }, + "topic": "TALK_DONE" + } + ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done", + "dynamic_line": "[sweet now we get something between us. Give me 1 day and we ready]", + "responses": [ + { + "text": "[woo hoo]", + "effect": { "math": [ "npc_timer_getting_wall_ready", "=", "time('now')" ] }, + "topic": "TALK_DONE" + } + ] + }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", @@ -488,5 +545,28 @@ "success_lie": ".", "failure": "." } + }, + { + "id": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS", + "type": "mission_definition", + "name": { "str": "Retrieve Canvas Bags for Chris" }, + "goal": "MGOAL_NULL", + "difficulty": 1, + "value": 0, + "end": { "effect": { "math": [ "isherwood_wall_status", "=", "1" ] } }, + "origins": [ "ORIGIN_SECONDARY" ], + "has_generic_rewards": false, + "//": "Dialogue for this mission is handled externally.", + "dialogue": { + "describe": ".", + "offer": ".", + "accepted": ".", + "rejected": ".", + "advice": ".", + "inquire": ".", + "success": ".", + "success_lie": ".", + "failure": "." + } } ] From 447d2002d561c040807edfa1e2a88b38543e004f Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Sun, 28 Apr 2024 22:26:16 -0400 Subject: [PATCH 08/40] Allow Isherwood family to show up, rescue Barry --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 56 +++++ .../special_use/isherwood_spawnpoints.json | 29 +-- data/json/mapgen/mi-go/mi-go_scout_tower.json | 8 +- .../nested/isherwood_mission_nested.json | 90 ++++++- .../Isherwood_Rescue_NPC_Duplicates.json | 21 ++ .../NPCS_Isherwood_Rescue_Duplicates.json | 234 ++++++++++++++++++ .../isherwood_farm/NPC_Barry_Isherwood.json | 8 +- .../isherwood_farm/NPC_Chris_Isherwood.json | 23 +- .../overmap/overmap_special/specials.json | 8 +- .../overmap_terrain_mi-go.json | 11 +- 10 files changed, 426 insertions(+), 62 deletions(-) create mode 100644 data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json create mode 100644 data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json create mode 100644 data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json new file mode 100644 index 0000000000000..6f94e00f04ba2 --- /dev/null +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -0,0 +1,56 @@ +[ + { + "type": "effect_on_condition", + "id": "isherwood_mission_initialization_eoc", + "effect": [ + { + "u_location_variable": { "global_val": "invasion_map" }, + "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } + }, + { "u_teleport": { "global_val": "invasion_map" }, "force": true }, + { + "if": { "math": [ "isherwood_gear_status", "<", "1" ] }, + "then": [ + { + "mapgen_update": "nest_Isherwood_firing_line_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + } + ], + "else": { + "if": { "math": [ "isherwood_gear_status", "==", "1" ] }, + "then": [ + { + "mapgen_update": "nest_Isherwood_firing_line_swat_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + } + ], + "else": { + "if": { "math": [ "isherwood_wall_status", "==", "1" ] }, + "then": [ + { + "mapgen_update": "nest_Isherwood_firing_wall_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + } + ] + } + } + }, + { + "u_location_variable": { "global_val": "invasion_map_proper_place" }, + "terrain": "t_dirt_isherwood_player_spawnpoint", + "target_max_radius": 60, + "min_radius": 0, + "max_radius": 0 + }, + { "u_teleport": { "global_val": "invasion_map_proper_place" }, "force": true } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_wall_finished", + "effect": [ { "math": [ "isherwood_wall_status", "=", "1" ] } ] + } +] diff --git a/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json b/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json index 5924b60f74dbe..3af41e45fda43 100644 --- a/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json +++ b/data/json/furniture_and_terrain/special_use/isherwood_spawnpoints.json @@ -1,34 +1,7 @@ [ { "type": "terrain", - "id": "t_dirt_isherwood_spawnpoint_1", - "name": "dirt", - "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", - "symbol": ".", - "color": "brown", - "copy-from": "t_dirt" - }, - { - "type": "terrain", - "id": "t_dirt_isherwood_spawnpoint_2", - "name": "dirt", - "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", - "symbol": ".", - "color": "brown", - "copy-from": "t_dirt" - }, - { - "type": "terrain", - "id": "t_dirt_isherwood_spawnpoint_3", - "name": "dirt", - "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", - "symbol": ".", - "color": "brown", - "copy-from": "t_dirt" - }, - { - "type": "terrain", - "id": "t_dirt_isherwood_spawnpoint_4", + "id": "t_dirt_isherwood_player_spawnpoint", "name": "dirt", "description": "It's dirt. Looks like some fine soil for tillage. Could also be dug out for construction projects.", "symbol": ".", diff --git a/data/json/mapgen/mi-go/mi-go_scout_tower.json b/data/json/mapgen/mi-go/mi-go_scout_tower.json index ac3d8b565b719..346c614789285 100644 --- a/data/json/mapgen/mi-go/mi-go_scout_tower.json +++ b/data/json/mapgen/mi-go/mi-go_scout_tower.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": "mi-go_scout_tower_1", + "om_terrain": [ "barry_mi-go_scout_tower_1", "mi-go_scout_tower_1" ], "object": { "fill_ter": "t_floor_resin", "rows": [ @@ -48,7 +48,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": "mi-go_scout_tower_2", + "om_terrain": [ "barry_mi-go_scout_tower_2", "mi-go_scout_tower_2" ], "object": { "fill_ter": "t_floor_resin", "rows": [ @@ -93,7 +93,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": "mi-go_scout_tower_3", + "om_terrain": [ "barry_mi-go_scout_tower_3", "mi-go_scout_tower_3" ], "object": { "fill_ter": "t_floor_resin", "rows": [ @@ -141,7 +141,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": "mi-go_scout_tower_4", + "om_terrain": [ "barry_mi-go_scout_tower_4", "mi-go_scout_tower_4" ], "object": { "fill_ter": "t_floor_resin", "rows": [ diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index 28efa1f7ca3be..83f96f2c71cbd 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -37,14 +37,53 @@ " ", " ", " ", - " " + " *" + ], + "terrain": { ".": "t_dirt", "p": "t_dirt", "q": "t_dirt", "l": "t_dirt", "*": "t_dirt_isherwood_player_spawnpoint" }, + "place_npcs": [ + { "class": "isherwood_carlos_copy", "x": 2, "y": 6 }, + { "class": "isherwood_eddie_copy", "x": 4, "y": 6 }, + { "class": "isherwood_luke_copy", "x": 6, "y": 6 }, + { "class": "isherwood_jesse_copy", "x": 8, "y": 6 } + ], + "place_vehicles": [ + { + "vehicle": "extended_pickup", + "chance": 100, + "fuel": 99, + "rotation": 0, + "faction": "isherwood_family", + "x": [ 5 ], + "y": [ 8 ] + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_firing_line_swat", + "object": { + "mapgensize": [ 10, 10 ], + "rows": [ + " ", + " ", + " ", + " ", + " ", + " . p q l ", + " ", + " ", + " ", + " *" + ], + "terrain": { ".": "t_dirt", "p": "t_dirt", "q": "t_dirt", "l": "t_dirt", "*": "t_dirt_isherwood_player_spawnpoint" }, + "place_npcs": [ + { "class": "isherwood_carlos_swat_copy", "x": 2, "y": 6 }, + { "class": "isherwood_eddie_swat_copy", "x": 4, "y": 6 }, + { "class": "isherwood_luke_swat_copy", "x": 6, "y": 6 }, + { "class": "isherwood_jesse_swat_copy", "x": 8, "y": 6 } ], - "terrain": { - ".": "t_dirt_isherwood_spawnpoint_1", - "p": "t_dirt_isherwood_spawnpoint_2", - "q": "t_dirt_isherwood_spawnpoint_3", - "l": "t_dirt_isherwood_spawnpoint_4" - }, "place_vehicles": [ { "vehicle": "extended_pickup", @@ -74,5 +113,42 @@ ] } } + }, + { + "type": "mapgen", + "update_mapgen_id": "isherwood_rescue_remove_npcs", + "method": "json", + "object": { + "remove_npcs": [ + { "class": "isherwood_carlos_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_eddie_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_luke_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_jesse_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_carlos_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_eddie_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_luke_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_jesse_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_barry", "x": [ 0, 23 ], "y": [ 0, 23 ] } + ], + "remove_vehicles": [ { "vehicles": [ "extended_pickup" ], "x": [ 0, 23 ], "y": [ 0, 23 ] } ] + } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_firing_line_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_firing_line" ], "x": 10, "y": 12 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_firing_line_swat_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_firing_line_swat" ], "x": 10, "y": 12 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_firing_wall_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_firing_wall" ], "x": 10, "y": 12 } ] } } ] diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json new file mode 100644 index 0000000000000..85c6a3f8a3b03 --- /dev/null +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -0,0 +1,21 @@ +[ + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "dynamic_line": "I can't really talk right now, I'm busy. Go get Barry for us!", + "responses": [ + { + "text": "I've got Barry, let's get out of here.", + "condition": { "u_has_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" }, + "effect": [ + { "u_lose_var": "barry_following", "type": "general", "context": "meeting" }, + { "u_add_var": "u_saved_barry", "type": "general", "context": "meeting", "value": "yes" }, + { "u_spawn_item": "hsurvivor_jumpsuit", "count": 1 }, + { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } + ], + "topic": "TALK_DONE" + }, + { "text": "Sure thing, I'll be back soon.", "topic": "TALK_DONE" } + ] + } +] diff --git a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json new file mode 100644 index 0000000000000..77f813ca39372 --- /dev/null +++ b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json @@ -0,0 +1,234 @@ +[ + { + "type": "npc", + "id": "isherwood_carlos_copy", + "//": "Dairy farmer the Isherwood family. Duplicate copy for the rescue mission", + "name_unique": "Carlos Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_CARLOS", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_carlos_swat_copy", + "//": "Dairy farmer the Isherwood family. Duplicate copy for the rescue mission", + "name_unique": "Carlos Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_CARLOS_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_CARLOS_SWAT", + "name": { "str": "Carlos Isherwood" }, + "job_description": "I'm Jesse's husband, part of the Isherwood family.", + "traits": [ + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "speech", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 7, 10 ] } }, + { "skill": "gun", "bonus": { "rng": [ 4, 8 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 7, 10 ] } }, + { "skill": "archery", "bonus": { "rng": [ 8, 10 ] } } + ] + }, + { + "type": "npc", + "id": "isherwood_eddie_copy", + "//": "Dairy farmer of the Isherwood family. Duplicate for the rescue mission.", + "name_unique": "Eddie Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_EDDIE", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_eddie_swat_copy", + "//": "Dairy farmer of the Isherwood family. Duplicate for the rescue mission.", + "name_unique": "Eddie Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_EDDIE_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_EDDIE_SWAT", + "name": { "str": "Eddie Isherwood" }, + "job_description": "I'm a dairy farmer, part of the Isherwood family", + "traits": [ + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "shopkeeper_item_group": "NC_ISHERWOOD_EDDIE_misc", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "speech", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 4, 8 ] } }, + { "skill": "archery", "bonus": { "rng": [ 4, 8 ] } } + ] + }, + { + "type": "npc", + "id": "isherwood_luke_copy", + "//": "Dairy farmer's son in the Isherwood family. Duplicate for the rescue mission.", + "name_unique": "Luke Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_LUKE", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_luke_swat_copy", + "//": "Dairy farmer's son in the Isherwood family. Duplicate for the rescue mission.", + "name_unique": "Luke Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_LUKE_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_LUKE_SWAT", + "name": { "str": "Luke Isherwood" }, + "job_description": "I'm Eddie's son, part of the Isherwood family", + "traits": [ + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 4, 8 ] } }, + { "skill": "fabrication", "bonus": { "rng": [ 2, 7 ] } }, + { "skill": "archery", "bonus": { "rng": [ 4, 8 ] } } + ] + }, + { + "type": "npc", + "id": "isherwood_jesse_copy", + "//": "Horse trainer for the Isherwood family. False copy for the Barry resue mission", + "name_unique": "Jesse Isherwood", + "gender": "female", + "class": "NC_ISHERWOOD_JESSE", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_jesse_swat_copy", + "//": "Horse trainer for the Isherwood family. False copy for the Barry resue mission", + "name_unique": "Jesse Isherwood", + "gender": "female", + "class": "NC_ISHERWOOD_JESSE_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_JESSE_SWAT", + "name": { "str": "Jesse Isherwood" }, + "job_description": "I'm a horse trainer, part of the Isherwood family", + "traits": [ + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "speech", "bonus": { "rng": [ 6, 9 ] } }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 4, 6 ] } }, + { "skill": "archery", "bonus": { "rng": [ 4, 6 ] } } + ] + }, + { + "type": "item_group", + "id": "NC_Isherwood_swat_worn", + "subtype": "collection", + "entries": [ + { "distribution": [ { "item": "backpack_leather" }, { "item": "wicker_backpack" }, { "item": "slingpack" } ] }, + { "item": "armor_riot" }, + { + "collection": [ { "item": "3006", "container-item": "ammo_pouch" }, { "item": "3006", "charges": [ 4, 8 ] } ] + }, + { "item": "3006", "charges": [ 4, 8 ] }, + { "distribution": [ { "item": "boxer_briefs" }, { "item": "boxer_shorts" }, { "item": "briefs" } ] }, + { "distribution": [ { "item": "tshirt" }, { "item": "undershirt" } ] }, + { "distribution": [ { "item": "jeans" }, { "item": "pants_cargo" }, { "item": "pants_leather" } ] }, + { "item": "leather_belt", "prob": 50 }, + { "item": "gloves_fingerless", "prob": 50 }, + { "item": "helmet_riot" }, + { "item": "armor_riot_arm" }, + { "item": "armor_riot_leg" }, + { "distribution": [ { "item": "boots" }, { "item": "boots_western" } ] }, + { "item": "socks", "prob": 50 } + ] + } +] diff --git a/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json index d75538643e4c4..cbfcdabbd754d 100644 --- a/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json @@ -58,7 +58,7 @@ { "text": "Are you Barry Isherwood?", "topic": "TALK_ISHERWOOD_BARRY_ID" }, { "text": "Let's go.", - "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_BARRY_1" } ], + "effect": [ "follow", { "u_add_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" } ], "topic": "TALK_DONE" }, { "text": "Hang on. I've got questions.", "topic": "TALK_ISHERWOOD_BARRY_ID2" }, @@ -72,7 +72,7 @@ "responses": [ { "text": "Yeah, they did. let's go.", - "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_BARRY_1" } ], + "effect": [ "follow", { "u_add_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" } ], "topic": "TALK_DONE" }, { "text": "Hang on. I've got questions.", "topic": "TALK_ISHERWOOD_BARRY_ID2" }, @@ -86,12 +86,12 @@ "responses": [ { "text": "Okay, me too. Let's go.", - "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_BARRY_1" } ], + "effect": [ "follow", { "u_add_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" } ], "topic": "TALK_DONE" }, { "text": "All right, we're leaving, but you better not test me again.", - "effect": [ "follow", { "assign_mission": "MISSION_ISHERWOOD_BARRY_1" } ], + "effect": [ "follow", { "u_add_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" } ], "topic": "TALK_DONE" }, { "text": "Pff. If you're gonna treat me like that, you can stay here.", "topic": "TALK_DONE" } diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 1e035e567e86e..eec98f6707534 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -381,6 +381,7 @@ { "text": "Let's go get your uncle back.", "//": "This should trigger any EOCs that start the mission setup. To be done.", + "effect": { "run_eocs": "isherwood_mission_initialization_eoc" }, "topic": "TALK_DONE" }, { @@ -425,25 +426,25 @@ { "text": "[bod armor]", "condition": { "and": [ { "u_has_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "<", "5" ] } ] }, - "effect": [ { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], + "effect": [ { "u_sell_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[helmet]", "condition": { "and": [ { "u_has_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "<", "5" ] } ] }, - "effect": [ { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], + "effect": [ { "u_sell_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[arm armor]", "condition": { "and": [ { "u_has_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "<", "5" ] } ] }, - "effect": [ { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], + "effect": [ { "u_sell_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[leg armor]", "condition": { "and": [ { "u_has_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "<", "5" ] } ] }, - "effect": [ { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], + "effect": [ { "u_sell_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "That's all for now. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS" }, @@ -479,28 +480,21 @@ "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done", "dynamic_line": "[sweet now we get something between us. Give me 1 day and we ready]", - "responses": [ - { - "text": "[woo hoo]", - "effect": { "math": [ "npc_timer_getting_wall_ready", "=", "time('now')" ] }, - "topic": "TALK_DONE" - } - ] + "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", "name": { "str": "Free Barry from the mysterious structure" }, - "goal": "MGOAL_TALK_TO_NPC", + "goal": "MGOAL_NULL", "difficulty": 5, "value": 50000, "start": { - "assign_mission_target": { "om_terrain": "mi-go_scout_tower_3", "om_special": "Barry's Mi-Go Scout Tower", "reveal_radius": 3 }, + "assign_mission_target": { "om_terrain": "barry_mi-go_scout_tower_3", "om_special": "Barry's Mi-Go Scout Tower", "reveal_radius": 3 }, "update_mapgen": { "place_npcs": [ { "class": "isherwood_barry", "x": 18, "y": 15, "target": true } ] } }, "origins": [ "ORIGIN_SECONDARY" ], "has_generic_rewards": false, - "destination": "mi-go_scout_tower_3", "dialogue": { "describe": "We need to investigate the alien encampment and try to find out what happened to Barry.", "offer": "I can take you to the structure, I tracked them to it.", @@ -514,6 +508,7 @@ }, "end": { "opinion": { "trust": 5, "value": 5 }, + "effect": [ { "math": [ "isherwood_barry_rescued", "=", "1" ] } ], "update_mapgen": [ { "om_terrain": "cabin_isherwood", "place_nested": [ { "chunks": [ "cabin_isherwood_update" ], "x": 3, "y": 1 } ] } ] } }, diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 95ec04fbdc20b..ee703cbe78fc9 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -5322,10 +5322,10 @@ "id": "Barry's Mi-Go Scout Tower", "//": "This is a globally unqiue special used in the Isherwood rescue mission.", "overmaps": [ - { "point": [ 0, 0, 0 ], "overmap": "mi-go_scout_tower_1_north" }, - { "point": [ 0, 0, 1 ], "overmap": "mi-go_scout_tower_2_north" }, - { "point": [ 0, 0, 2 ], "overmap": "mi-go_scout_tower_3_north" }, - { "point": [ 0, 0, 3 ], "overmap": "mi-go_scout_tower_4_north" }, + { "point": [ 0, 0, 0 ], "overmap": "barry_mi-go_scout_tower_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "barry_mi-go_scout_tower_2_north" }, + { "point": [ 0, 0, 2 ], "overmap": "barry_mi-go_scout_tower_3_north" }, + { "point": [ 0, 0, 3 ], "overmap": "barry_mi-go_scout_tower_4_north" }, { "point": [ 0, 1, 0 ], "overmap": "rural_road_north" } ], "locations": [ "wilderness" ], diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_mi-go.json b/data/json/overmap/overmap_terrain/overmap_terrain_mi-go.json index c89011f64ebb7..9a8387a2b8e98 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_mi-go.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_mi-go.json @@ -37,7 +37,16 @@ }, { "type": "overmap_terrain", - "id": [ "mi-go_scout_tower_1", "mi-go_scout_tower_2", "mi-go_scout_tower_3", "mi-go_scout_tower_4" ], + "id": [ + "barry_mi-go_scout_tower_1", + "barry_mi-go_scout_tower_2", + "barry_mi-go_scout_tower_3", + "barry_mi-go_scout_tower_4", + "mi-go_scout_tower_1", + "mi-go_scout_tower_2", + "mi-go_scout_tower_3", + "mi-go_scout_tower_4" + ], "name": "mi-go scout tower", "sym": ">", "color": "light_gray", From 3a0caf0036efeac660360c0f83f15b0ce13ae544 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Mon, 29 Apr 2024 14:14:19 -0400 Subject: [PATCH 09/40] Add a few more things --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 79 ++++++++++++--- .../nested/isherwood_mission_nested.json | 48 +++++++++ .../NPCS_Isherwood_Rescue_Duplicates.json | 98 +++++++++++++++++++ .../isherwood_farm/NPC_Chris_Isherwood.json | 67 +++++++++++-- .../isherwood_farm/NPC_Lisa_Isherwood.json | 40 ++++++++ 5 files changed, 312 insertions(+), 20 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 6f94e00f04ba2..926b6e315de46 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -2,6 +2,58 @@ { "type": "effect_on_condition", "id": "isherwood_mission_initialization_eoc", + "effect": [ + { + "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, + "then": { + "run_eocs": [ "isherwood_mission_family_included_eoc", "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] + }, + "else": { + "if": { "math": [ "isherwood_family_coming", "==", "0" ] }, + "then": { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] } + } + } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_chris_spawn_eoc", + "effect": [ + { + "if": { "math": [ "isherwood_gear_status", "==", "1" ] }, + "then": { + "mapgen_update": "nest_Isherwood_chris_swat_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + }, + "else": { + "if": { "math": [ "isherwood_gear_status", "!=", "1" ] }, + "then": { "mapgen_update": "nest_Isherwood_chris_add", "om_terrain": "rural_road", "om_special": "Barry's Mi-Go Scout Tower" } + } + } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_lisa_spawn_eoc", + "effect": [ + { + "if": { "and": [ { "math": [ "isherwood_lisa_coming", "==", "1" ] }, { "math": [ "isherwood_gear_status", "==", "1" ] } ] }, + "then": { + "mapgen_update": "nest_Isherwood_lisa_swat_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + }, + "else": { + "if": { "and": [ { "math": [ "isherwood_lisa_coming", "==", "1" ] }, { "math": [ "isherwood_gear_status", "!=", "1" ] } ] }, + "then": { "mapgen_update": "nest_Isherwood_lisa_add", "om_terrain": "rural_road", "om_special": "Barry's Mi-Go Scout Tower" } + } + } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_family_included_eoc", "effect": [ { "u_location_variable": { "global_val": "invasion_map" }, @@ -25,19 +77,19 @@ "om_terrain": "rural_road", "om_special": "Barry's Mi-Go Scout Tower" } - ], - "else": { - "if": { "math": [ "isherwood_wall_status", "==", "1" ] }, - "then": [ - { - "mapgen_update": "nest_Isherwood_firing_wall_add", - "om_terrain": "rural_road", - "om_special": "Barry's Mi-Go Scout Tower" - } - ] - } + ] } }, + { + "if": { "math": [ "isherwood_wall_status", "==", "1" ] }, + "then": [ + { + "mapgen_update": "nest_Isherwood_firing_wall_add", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + } + ] + }, { "u_location_variable": { "global_val": "invasion_map_proper_place" }, "terrain": "t_dirt_isherwood_player_spawnpoint", @@ -52,5 +104,10 @@ "type": "effect_on_condition", "id": "isherwood_mission_wall_finished", "effect": [ { "math": [ "isherwood_wall_status", "=", "1" ] } ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_lisa_coming", + "effect": [ { "math": [ "isherwood_lisa_coming", "=", "1" ] } ] } ] diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index 83f96f2c71cbd..ebbbc5c45bcd5 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -97,6 +97,30 @@ ] } }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_chris_spawn", + "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_chris_copy", "x": 1, "y": 1 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_chris_swat_spawn", + "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_chris_swat_copy", "x": 1, "y": 1 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_lisa_spawn", + "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_lisa_copy", "x": 1, "y": 1 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "isherwood_barry_lisa_swat_spawn", + "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_lisa_swat_copy", "x": 1, "y": 1 } ] } + }, { "type": "mapgen", "method": "json", @@ -133,6 +157,30 @@ "remove_vehicles": [ { "vehicles": [ "extended_pickup" ], "x": [ 0, 23 ], "y": [ 0, 23 ] } ] } }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_chris_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_chris_spawn" ], "x": 12, "y": 18 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_chris_swat_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_chris_swat_spawn" ], "x": 12, "y": 18 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_lisa_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_lisa_spawn" ], "x": 12, "y": 18 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "nest_Isherwood_lisa_swat_add", + "object": { "place_nested": [ { "chunks": [ "isherwood_barry_lisa_swat_spawn" ], "x": 7, "y": 18 } ] } + }, { "type": "mapgen", "method": "json", diff --git a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json index 77f813ca39372..b6d08a0be83a4 100644 --- a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json +++ b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json @@ -208,6 +208,104 @@ { "skill": "archery", "bonus": { "rng": [ 4, 6 ] } } ] }, + { + "type": "npc", + "id": "isherwood_lisa_copy", + "//": "Part of the Isherwood family. False copy for the Barry resue mission.", + "name_unique": "Lisa Isherwood", + "gender": "female", + "class": "NC_ISHERWOOD_LISA", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_lisa_swat_copy", + "//": "Part of the Isherwood family. False copy for the Barry resue mission.", + "name_unique": "Lisa Isherwood", + "gender": "female", + "class": "NC_ISHERWOOD_LISA_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_LISA_SWAT", + "name": { "str": "Lisa Isherwood" }, + "job_description": "Part of the Isherwood family", + "traits": [ + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" }, + { "trait": "NO_BASH" }, + { "trait": "RETURN_TO_START_POS" } + ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "gun", "bonus": { "rng": [ 3, 5 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 2, 5 ] } }, + { "skill": "archery", "bonus": { "rng": [ 2, 5 ] } } + ] + }, + { + "type": "npc", + "id": "isherwood_chris_copy", + "//": "Part of the Isherwood family. False copy for the Barry resue mission.", + "name_unique": "Chris Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_CHRIS", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc", + "id": "isherwood_chris_swat_copy", + "//": "Part of the Isherwood family. False copy for the Barry resue mission.", + "name_unique": "Chris Isherwood", + "gender": "male", + "class": "NC_ISHERWOOD_CHRIS_SWAT", + "attitude": 0, + "mission": 7, + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "faction": "isherwood_family" + }, + { + "type": "npc_class", + "id": "NC_ISHERWOOD_CHRIS_SWAT", + "name": { "str": "Chris Isherwood" }, + "job_description": "I'm Jesse and Carlos' son, part of the Isherwood family", + "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" }, { "trait": "NO_BASH" } ], + "common": false, + "bonus_per": { "one_in": 4 }, + "worn_override": "NC_Isherwood_swat_worn", + "weapon_override": "NC_ISHERWOOD_rifle", + "skills": [ + { + "skill": "ALL", + "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "constant": -2 }, { "one_in": 4 } ] } ] } + }, + { "skill": "speech", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 3, 6 ] } }, + { "skill": "survival", "bonus": { "rng": [ 7, 10 ] } }, + { "skill": "gun", "bonus": { "rng": [ 4, 8 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 7, 10 ] } }, + { "skill": "archery", "bonus": { "rng": [ 8, 10 ] } } + ] + }, { "type": "item_group", "id": "NC_Isherwood_swat_worn", diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index eec98f6707534..03a6a532eaa14 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -276,7 +276,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, { - "text": "It's all right. We've got this, you get things ready for when we return with Barry", + "text": "It's all right. We've got this, you get things ready for when we return with Barry.", "topic": "TALK_DONE" } ] @@ -288,8 +288,7 @@ "responses": [ { "text": "All right. Let's kick some alien butt.", - "effect": "follow", - "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", + "effect": [ { "math": [ "isherwood_family_coming", "=", "0" ] } ], "topic": "TALK_DONE" }, { @@ -323,6 +322,13 @@ "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA2", "dynamic_line": "*blinks. \"My… yeah, of course Lisa could come. Damn, she'd smack me if she knew I didn't think of that myself. Mind if I go talk to her about it? I'll get her to come out with me and we'll meet you together, if she's willing.\"", + "speaker_effect": { + "sentinel": "plan_to_take_lisa", + "effect": [ + { "u_add_var": "lisa_isherwood_coming_too", "value": "yes" }, + { "math": [ "timer_chris_talked_to_lisa", "=", "time('now')" ] } + ] + }, "responses": [ { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", @@ -330,8 +336,18 @@ }, { "text": "All right. Let's kick some alien butt.", - "effect": "follow", - "//": "This is temporary, Chris should actually spawn near the tower with some new gear and follow you from there.", + "effect": [ + { "math": [ "isherwood_family_coming", "=", "0" ] }, + { "queue_eocs": "isherwood_mission_lisa_coming", "time_in_future": "1 hour" } + ], + "topic": "TALK_DONE" + }, + { + "text": "Okay, I'll give you about an hour to talk with her about it. I'll be back soon.", + "effect": [ + { "math": [ "isherwood_family_coming", "=", "0" ] }, + { "queue_eocs": "isherwood_mission_lisa_coming", "time_in_future": "1 hour" } + ], "topic": "TALK_DONE" } ] @@ -344,18 +360,33 @@ "sentinel": "chris_thinking_about_plan", "effect": { "math": [ "npc_timer_thinking_about_plan", "=", "time('now')" ] } }, - "responses": [ { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_DONE" } ] + "responses": [ + { + "text": "Is there anyone else around here that could help us?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" + }, + { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_DONE" } + ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN", "dynamic_line": "Yeah. I think they should cover our exit. We've got an old truck they could set up as a platform, where Dad can put down covering fire without his knee being an issue. Eddie can drive, instead of shoot, and Luke or Mom can be ready with some first aid supplies. Then when we get out, we've got an easy getaway set up, and there's less chance of us getting flanked while we're in there looking for Barry.\" He looks at you, suddenly nervous. \"Is that a good plan?", "responses": [ - { "text": "Seems like a good plan to me.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" }, + { + "text": "Seems like a good plan to me.", + "effect": [ { "math": [ "isherwood_family_coming", "=", "1" ] } ], + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" + }, { "text": "I think it's better we take my vehicle, and just leave them out of it.", + "effect": [ { "math": [ "isherwood_family_coming", "=", "0" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { + "text": "Is there anyone else around here that could help us?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" + }, { "text": "I don't think one farmer with a hunting rifle is going to be enough to keep our backs safe.", "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, @@ -380,8 +411,7 @@ "responses": [ { "text": "Let's go get your uncle back.", - "//": "This should trigger any EOCs that start the mission setup. To be done.", - "effect": { "run_eocs": "isherwood_mission_initialization_eoc" }, + "effect": [ { "math": [ "isherwood_family_coming", "=", "1" ] }, { "run_eocs": "isherwood_mission_initialization_eoc" } ], "topic": "TALK_DONE" }, { @@ -447,6 +477,25 @@ "effect": [ { "u_sell_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, + { + "text": "[got all cop gear]", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + { + "and": [ + { "math": [ "isherwood_gear_retrival_armor_body_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_helmet_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_armor_arm_count", "==", "5" ] }, + { "math": [ "isherwood_gear_retrival_armor_leg_count", "==", "5" ] } + ] + }, + { "math": [ "isherwood_gear_status", "<", "1" ] } + ] + }, + "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": true }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done" + }, { "text": "That's all for now. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS" }, { "text": "That's all for now. I'll see you later.", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json index 1301c25b7e281..89d300a8036cc 100644 --- a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json @@ -46,6 +46,7 @@ "yes": "I see that badge, I think you need to keep on walking, straight off this property.", "no": "Hi, what brings you here?" }, + "speaker_effect": { "sentinel": "u_met_lisa", "effect": [ { "u_add_var": "u_met_lisa_isherwood", "value": "yes" } ] }, "responses": [ { "text": "…", @@ -71,6 +72,20 @@ "effect": [ { "u_add_var": "u_met_Lisa_Isherwood", "value": "yes" } ], "condition": { "and": [ { "not": { "u_is_wearing": "badge_marshal" } }, { "u_has_var": "u_heard_about_chris", "value": "yes" } ] } }, + { + "text": "[chris tell about plan? we get barry back need u.]", + "topic": "TALK_ISHERWOOD_CHRIS_TALKED_TO_LISA", + "condition": { + "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "timer_chris_talked_to_lisa", ">=", "time('1 h')" ] } ] + } + }, + { + "text": "[chris tell about plan? we get barry back need u.]", + "topic": "TALK_ISHERWOOD_CHRIS_NOT_TALKED_TO_LISA", + "condition": { + "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "timer_chris_talked_to_lisa", "<", "time('1 h')" ] } ] + } + }, { "text": "I'd better get going.", "topic": "TALK_DONE", @@ -126,5 +141,30 @@ { "text": "Hi, I'm looking for Chris.", "topic": "TALK_LISA_CHRIS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_TALKED_TO_LISA", + "dynamic_line": "[yeah he did im in on it lets kick ass]", + "responses": [ { "text": "[sweet see u then]", "topic": "TALK_DONE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_NOT_TALKED_TO_LISA", + "dynamic_line": "[no he didnt whats the plan]", + "responses": [ { "text": "[que expalnation of plan. u want in?]", "topic": "TALK_ISHERWOOD_LISA_JOIN_RESCUE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_LISA_JOIN_RESCUE", + "dynamic_line": "[heck yeah im in.]", + "responses": [ + { + "text": "[sweet see u there]", + "effect": { "math": [ "isherwood_lisa_coming", "=", "1" ] }, + "//": "This is temporary. Lisa should join Chris at the tower with an EOC spawn.", + "topic": "TALK_DONE" + } + ] } ] From 438510f4d4bb6e89efecdaca477832469e249a3e Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Tue, 30 Apr 2024 12:13:02 -0400 Subject: [PATCH 10/40] Add a secondary way to finish the mission without the family --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 53 ++++++++++++++++++- .../nested/isherwood_mission_nested.json | 38 +++++++++++-- .../Isherwood_Rescue_NPC_Duplicates.json | 19 ++++++- .../NPCS_Isherwood_Rescue_Duplicates.json | 8 +-- .../isherwood_farm/NPC_Chris_Isherwood.json | 4 +- 5 files changed, 108 insertions(+), 14 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 926b6e315de46..292dc80975a76 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -9,8 +9,15 @@ "run_eocs": [ "isherwood_mission_family_included_eoc", "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] }, "else": { - "if": { "math": [ "isherwood_family_coming", "==", "0" ] }, - "then": { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] } + "if": { "math": [ "isherwood_family_coming", "!=", "1" ] }, + "then": [ + { + "u_location_variable": { "global_val": "invasion_map" }, + "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } + }, + { "u_teleport": { "global_val": "invasion_map" }, "force": true }, + { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] } + ] } } ] @@ -109,5 +116,47 @@ "type": "effect_on_condition", "id": "isherwood_mission_lisa_coming", "effect": [ { "math": [ "isherwood_lisa_coming", "=", "1" ] } ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_barry_return_home", + "global": true, + "eoc_type": "EVENT", + "required_event": "avatar_enters_omt", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + { "u_has_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" }, + { "u_near_om_location": "horse_farm_isherwood_13", "range": 17 } + ] + }, + "effect": [ + { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1", "success": true }, + { + "u_message": "Barry turns about and tells you, \"I know where I am now, I'll go on ahead. They'll be so happy to see me, thank you for everything! Come drop by the farm sometime, we'll have something for you!\"", + "type": "good", + "popup": true + }, + { + "u_run_npc_eocs": [ + { + "id": "EOC_BARRY_LEAVE", + "effect": [ + { + "u_location_variable": { "global_val": "invasion_map" }, + "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } + }, + { "u_teleport": { "global_val": "invasion_map" }, "force": true }, + { + "mapgen_update": "remove_barry_and_company", + "om_terrain": "barry_mi-go_scout_tower_1", + "om_special": "Barry's Mi-Go Scout Tower" + } + ] + } + ], + "unique_ids": [ "BARRY_MISSION", "CHRIS_MISSION", "LISA_MISSION" ] + } + ] } ] diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index ebbbc5c45bcd5..8526b91f4108a 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -101,25 +101,37 @@ "type": "mapgen", "method": "json", "nested_mapgen_id": "isherwood_barry_chris_spawn", - "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_chris_copy", "x": 1, "y": 1 } ] } + "object": { + "mapgensize": [ 1, 1 ], + "place_npcs": [ { "class": "isherwood_chris_copy", "unique_id": "CHRIS_MISSION", "x": 1, "y": 1 } ] + } }, { "type": "mapgen", "method": "json", "nested_mapgen_id": "isherwood_barry_chris_swat_spawn", - "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_chris_swat_copy", "x": 1, "y": 1 } ] } + "object": { + "mapgensize": [ 1, 1 ], + "place_npcs": [ { "class": "isherwood_chris_swat_copy", "unique_id": "CHRIS_MISSION", "x": 1, "y": 1 } ] + } }, { "type": "mapgen", "method": "json", "nested_mapgen_id": "isherwood_barry_lisa_spawn", - "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_lisa_copy", "x": 1, "y": 1 } ] } + "object": { + "mapgensize": [ 1, 1 ], + "place_npcs": [ { "class": "isherwood_lisa_copy", "unique_id": "LISA_MISSION", "x": 1, "y": 1 } ] + } }, { "type": "mapgen", "method": "json", "nested_mapgen_id": "isherwood_barry_lisa_swat_spawn", - "object": { "mapgensize": [ 1, 1 ], "place_npcs": [ { "class": "isherwood_lisa_swat_copy", "x": 1, "y": 1 } ] } + "object": { + "mapgensize": [ 1, 1 ], + "place_npcs": [ { "class": "isherwood_lisa_swat_copy", "unique_id": "LISA_MISSION", "x": 1, "y": 1 } ] + } }, { "type": "mapgen", @@ -148,15 +160,33 @@ { "class": "isherwood_eddie_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_luke_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_jesse_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_chris_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_lisa_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_carlos_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_eddie_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_luke_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_jesse_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_chris_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_lisa_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, { "class": "isherwood_barry", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], "remove_vehicles": [ { "vehicles": [ "extended_pickup" ], "x": [ 0, 23 ], "y": [ 0, 23 ] } ] } }, + { + "type": "mapgen", + "update_mapgen_id": "remove_barry_and_company", + "method": "json", + "object": { + "remove_npcs": [ + { "class": "isherwood_barry", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_chris_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_lisa_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_chris_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] }, + { "class": "isherwood_lisa_swat_copy", "x": [ 0, 23 ], "y": [ 0, 23 ] } + ] + } + }, { "type": "mapgen", "method": "json", diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 85c6a3f8a3b03..80f33c9b0d24f 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -2,20 +2,35 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES", - "dynamic_line": "I can't really talk right now, I'm busy. Go get Barry for us!", + "dynamic_line": "I can't really talk right now, I'm busy. Let's get Barry!", "responses": [ { "text": "I've got Barry, let's get out of here.", - "condition": { "u_has_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" }, + "condition": { + "and": [ + { "math": [ "isherwood_family_coming", "==", "1" ] }, + { "u_has_var": "barry_following", "type": "general", "context": "meeting", "value": "yes" } + ] + }, "effect": [ { "u_lose_var": "barry_following", "type": "general", "context": "meeting" }, { "u_add_var": "u_saved_barry", "type": "general", "context": "meeting", "value": "yes" }, { "u_spawn_item": "hsurvivor_jumpsuit", "count": 1 }, + { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1", "success": true }, { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } ], "topic": "TALK_DONE" }, { "text": "Sure thing, I'll be back soon.", "topic": "TALK_DONE" } ] + }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", + "dynamic_line": "Hey, good to see you! Are you ready to get Barry back?", + "responses": [ + { "text": "Let's do this!", "effect": "follow", "topic": "TALK_DONE" }, + { "text": "Not yet, just give me a minute.", "topic": "TALK_DONE" } + ] } ] diff --git a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json index b6d08a0be83a4..014bc6b4c41ff 100644 --- a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json +++ b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json @@ -217,7 +217,7 @@ "class": "NC_ISHERWOOD_LISA", "attitude": 0, "mission": 7, - "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, { @@ -229,7 +229,7 @@ "class": "NC_ISHERWOOD_LISA_SWAT", "attitude": 0, "mission": 7, - "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, { @@ -268,7 +268,7 @@ "class": "NC_ISHERWOOD_CHRIS", "attitude": 0, "mission": 7, - "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, { @@ -280,7 +280,7 @@ "class": "NC_ISHERWOOD_CHRIS_SWAT", "attitude": 0, "mission": 7, - "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", + "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, { diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 03a6a532eaa14..714981e3b7f50 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -540,7 +540,7 @@ "value": 50000, "start": { "assign_mission_target": { "om_terrain": "barry_mi-go_scout_tower_3", "om_special": "Barry's Mi-Go Scout Tower", "reveal_radius": 3 }, - "update_mapgen": { "place_npcs": [ { "class": "isherwood_barry", "x": 18, "y": 15, "target": true } ] } + "update_mapgen": { "place_npcs": [ { "class": "isherwood_barry", "x": 18, "y": 15, "unique_id": "BARRY_MISSION", "target": true } ] } }, "origins": [ "ORIGIN_SECONDARY" ], "has_generic_rewards": false, @@ -597,7 +597,7 @@ "goal": "MGOAL_NULL", "difficulty": 1, "value": 0, - "end": { "effect": { "math": [ "isherwood_wall_status", "=", "1" ] } }, + "end": { "effect": { "queue_eocs": "isherwood_mission_wall_finished", "time_in_future": "24 hours" } }, "origins": [ "ORIGIN_SECONDARY" ], "has_generic_rewards": false, "//": "Dialogue for this mission is handled externally.", From 15bcb07b1cc8c813916c91cb6ac14d0aca676d69 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Tue, 30 Apr 2024 14:40:37 -0400 Subject: [PATCH 11/40] Add Isherwood retreat EOCs if the player leaves the map --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 63 +++++++++++++++++++ .../Isherwood_Rescue_NPC_Duplicates.json | 2 +- .../isherwood_farm/NPC_Chris_Isherwood.json | 27 ++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 292dc80975a76..f14dbae36f996 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -158,5 +158,68 @@ "unique_ids": [ "BARRY_MISSION", "CHRIS_MISSION", "LISA_MISSION" ] } ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_player_leaves_map", + "global": true, + "eoc_type": "EVENT", + "required_event": "avatar_moves", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + { "not": { "u_near_om_location": "barry_mi-go_scout_tower_1", "range": 2 } }, + { "math": [ "currently_invading_map", "==", "1" ] } + ] + }, + "effect": [ + { + "u_message": "Are you leaving? Fine then, we're heading home too! Meet us back there!", + "type": "bad", + "popup": true + }, + { "math": [ "currently_invading_map", "=", "0" ] }, + { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] }, + { + "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, + "then": { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } + }, + { + "u_run_npc_eocs": [ + { + "id": "EOC_PLAYER_FLEES_ISHERWOODS", + "effect": [ + { + "u_location_variable": { "global_val": "invasion_map" }, + "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } + }, + { "u_teleport": { "global_val": "invasion_map" }, "force": true }, + { + "mapgen_update": "remove_barry_and_company", + "om_terrain": "barry_mi-go_scout_tower_1", + "om_special": "Barry's Mi-Go Scout Tower" + } + ] + } + ], + "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION" ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_player_leaves_map_setup", + "global": true, + "eoc_type": "EVENT", + "required_event": "avatar_moves", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + { "math": [ "isherwood_family_coming", "==", "0" ] }, + { "u_near_om_location": "barry_mi-go_scout_tower_1", "range": 2 }, + { "math": [ "is_isherwood_flee_eoc_activated", "==", "0" ] } + ] + }, + "effect": [ { "math": [ "currently_invading_map", "=", "1" ] }, { "math": [ "is_isherwood_flee_eoc_activated", "=", "1" ] } ] } ] diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 80f33c9b0d24f..61e736cc91d02 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -29,7 +29,7 @@ "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "dynamic_line": "Hey, good to see you! Are you ready to get Barry back?", "responses": [ - { "text": "Let's do this!", "effect": "follow", "topic": "TALK_DONE" }, + { "text": "Let's do this!", "effect": "follow_only", "topic": "TALK_DONE" }, { "text": "Not yet, just give me a minute.", "topic": "TALK_DONE" } ] } diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 714981e3b7f50..7a1edfa3711c0 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -62,6 +62,13 @@ }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" }, + { + "text": "Do you think we're ready to try this again?", + "condition": { + "and": [ { "math": [ "isherwood_family_coming", "==", "0" ] }, { "math": [ "isherwood_barry_rescued", "!=", "1" ] } ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" + }, { "text": "[i got cop gear to turn over]", "condition": { @@ -531,6 +538,26 @@ "dynamic_line": "[sweet now we get something between us. Give me 1 day and we ready]", "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_TRY_AGAIN", + "dynamic_line": "[yeah let's go]", + "responses": [ + { + "text": "All right. Let's kick some alien butt.", + "effect": [ { "run_eocs": "isherwood_mission_initialization_eoc" } ], + "topic": "TALK_DONE" + }, + { + "text": "Is there anyone else around here that could help us?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" + }, + { + "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" + } + ] + }, { "id": "MISSION_ISHERWOOD_CHRIS_1", "type": "mission_definition", From c33d12ea93c0fedad8992f688a57238502d4d2a4 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Thu, 2 May 2024 10:08:46 -0400 Subject: [PATCH 12/40] Refine retreat EOCs, and allow the Isherwoods to retreat if they take too much damage (needs fixing) --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 115 +++++++++++++++--- .../isherwood_farm/NPC_Chris_Isherwood.json | 6 +- 2 files changed, 101 insertions(+), 20 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index f14dbae36f996..78611e6eef37f 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -3,11 +3,13 @@ "type": "effect_on_condition", "id": "isherwood_mission_initialization_eoc", "effect": [ + { "u_location_variable": { "u_val": "mission_return_position" } }, { "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, - "then": { - "run_eocs": [ "isherwood_mission_family_included_eoc", "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] - }, + "then": [ + { "run_eocs": [ "isherwood_mission_family_included_eoc", "isherwood_mission_set_teleport_position" ] }, + { "math": [ "currently_invading_map", "=", "1" ] } + ], "else": { "if": { "math": [ "isherwood_family_coming", "!=", "1" ] }, "then": [ @@ -16,7 +18,9 @@ "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } }, { "u_teleport": { "global_val": "invasion_map" }, "force": true }, - { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] } + { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] }, + { "u_teleport": { "u_val": "mission_return_position" }, "force": true }, + { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] } ] } } @@ -97,6 +101,7 @@ } ] }, + { "run_eocs": [ "isherwood_mission_chris_spawn_eoc", "isherwood_mission_lisa_spawn_eoc" ] }, { "u_location_variable": { "global_val": "invasion_map_proper_place" }, "terrain": "t_dirt_isherwood_player_spawnpoint", @@ -159,6 +164,36 @@ } ] }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_large_damage_retreat", + "eoc_type": "EVENT", + "required_event": "character_takes_damage", + "//": "I cant get this one to work right now, and I have no idea what's wrong. It will need to be fixed.", + "condition": { "and": [ { "math": [ "currently_invading_map", "==", "1" ] } ] }, + "effect": [ + { + "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, + "then": { + "u_run_npc_eocs": [ + { + "id": "EOC_ISHERWOODS_TOO_MUCH_DAMAGE_FLEE", + "condition": { "math": [ "u_hp('ALL')", "<=", "(u_hp_max('bp_null') * 0.7)" ] }, + "effect": [ + { "u_teleport": { "global_val": "_teleport_pos" }, "force": true }, + { + "mapgen_update": "isherwood_rescue_remove_npcs", + "om_terrain": "rural_road", + "om_special": "Barry's Mi-Go Scout Tower" + } + ] + } + ], + "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] + } + } + ] + }, { "type": "effect_on_condition", "id": "isherwood_mission_player_leaves_map", @@ -178,31 +213,73 @@ "type": "bad", "popup": true }, - { "math": [ "currently_invading_map", "=", "0" ] }, - { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] }, - { - "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, - "then": { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } - }, { "u_run_npc_eocs": [ { - "id": "EOC_PLAYER_FLEES_ISHERWOODS", + "id": "EOC_ISHERWOODS_PLAYER_LEAVE_FLEE", "effect": [ + { "u_teleport": { "global_val": "_teleport_pos" }, "force": true }, { - "u_location_variable": { "global_val": "invasion_map" }, - "target_params": { "om_terrain": "barry_mi-go_scout_tower_1", "search_range": 500, "z": 0 } - }, - { "u_teleport": { "global_val": "invasion_map" }, "force": true }, - { - "mapgen_update": "remove_barry_and_company", - "om_terrain": "barry_mi-go_scout_tower_1", + "mapgen_update": "isherwood_rescue_remove_npcs", + "om_terrain": "rural_road", "om_special": "Barry's Mi-Go Scout Tower" } ] } ], - "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION" ] + "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] + }, + { "math": [ "currently_invading_map", "=", "0" ] }, + { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_set_teleport_position", + "effect": [ + { + "u_run_npc_eocs": [ + { + "id": "isherwood_mission_set_teleport_position_effect", + "effect": { "u_location_variable": { "global_val": "_teleport_pos" }, "unique_id": true } + } + ], + "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_remove_all_isherwoods", + "effect": [ + { + "u_run_npc_eocs": [ + { "id": "EOC_ISHERWOODS_TELEPORT_ALL", "effect": [ { "u_teleport": { "global_val": "invasion_map" }, "force": true } ] } + ], + "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] + }, + { + "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, + "then": { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } + }, + { + "mapgen_update": "isherwood_rescue_remove_npcs", + "om_terrain": "barry_mi-go_scout_tower_1", + "om_special": "Barry's Mi-Go Scout Tower" + }, + { "math": [ "currently_invading_map", "=", "0" ] }, + { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] } + ] + }, + { + "type": "effect_on_condition", + "id": "isherwood_mission_damage_flee_message", + "global": true, + "effect": [ + { + "u_message": "It's too hairy out here, we've got to go! Meet us back home and regroup!", + "type": "bad", + "popup": true } ] }, diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 7a1edfa3711c0..a1599fe33789c 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -65,7 +65,11 @@ { "text": "Do you think we're ready to try this again?", "condition": { - "and": [ { "math": [ "isherwood_family_coming", "==", "0" ] }, { "math": [ "isherwood_barry_rescued", "!=", "1" ] } ] + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + { "math": [ "isherwood_family_coming", "==", "0" ] }, + { "math": [ "isherwood_barry_rescued", "!=", "1" ] } + ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, From 37961bc3c90915429178ee5969c2f4051094f35d Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Thu, 2 May 2024 10:48:35 -0400 Subject: [PATCH 13/40] Tune the map leave EOC and allow the player to go home with the Isherwoods after rescuing Barry. --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 9 ++++++++- .../Isherwood_Rescue_NPC_Duplicates.json | 11 ++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 78611e6eef37f..9d4b81b7b4eae 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -203,7 +203,14 @@ "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, - { "not": { "u_near_om_location": "barry_mi-go_scout_tower_1", "range": 2 } }, + { + "and": [ + { "not": { "u_near_om_location": "barry_mi-go_scout_tower_1", "range": 2 } }, + { "not": { "u_near_om_location": "barry_mi-go_scout_tower_2", "range": 2 } }, + { "not": { "u_near_om_location": "barry_mi-go_scout_tower_3", "range": 2 } }, + { "not": { "u_near_om_location": "barry_mi-go_scout_tower_4", "range": 2 } } + ] + }, { "math": [ "currently_invading_map", "==", "1" ] } ] }, diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 61e736cc91d02..5e68e5310e06b 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -17,7 +17,16 @@ { "u_add_var": "u_saved_barry", "type": "general", "context": "meeting", "value": "yes" }, { "u_spawn_item": "hsurvivor_jumpsuit", "count": 1 }, { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1", "success": true }, - { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" } + { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" }, + { + "u_location_variable": { "global_val": "isherwood_mission_sucess_return_map" }, + "target_params": { "om_terrain": "horse_farm_isherwood_13", "search_range": 500, "z": 0 }, + "furniture": "f_sofa", + "target_max_radius": 30, + "min_radius": 0, + "max_radius": 0 + }, + { "u_teleport": { "global_val": "isherwood_mission_sucess_return_map" }, "force": true } ], "topic": "TALK_DONE" }, From 3a7d10dbe60bb0e3fdbcda7b88a3d155a7acd243 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Sat, 4 May 2024 13:25:19 -0400 Subject: [PATCH 14/40] Add some return responses to mission dialogue and bugfix a few things. --- .../isherwood_farm/NPC_Chris_Isherwood.json | 129 ++++++++++++++---- 1 file changed, 105 insertions(+), 24 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index a1599fe33789c..5b50850951efd 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -56,8 +56,8 @@ "text": "Have you had any ideas for what your family could do?", "condition": { "and": [ - { "math": [ "npc_timer_thinking_about_plan", "==", "time('1 h')" ] }, - { "math": [ "isherwood_barry_rescued", "!=", "1" ] } + { "math": [ "npc_timer_thinking_about_plan", ">=", "time('1 h')" ] }, + { "math": [ "isherwood_barry_rescued", "==", "0" ] } ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN" @@ -68,11 +68,24 @@ "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "isherwood_family_coming", "==", "0" ] }, - { "math": [ "isherwood_barry_rescued", "!=", "1" ] } + { "math": [ "isherwood_barry_rescued", "!=", "1" ] }, + { "math": [ "npc_isherwood_barry_rescue_attempts", ">=", "1" ] } ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, + { + "text": "Do you think we're ready to try this again?", + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, + { "math": [ "isherwood_family_coming", "==", "1" ] }, + { "math": [ "isherwood_barry_rescued", "!=", "1" ] }, + { "math": [ "npc_isherwood_barry_rescue_attempts", ">=", "1" ] } + ] + }, + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" + }, { "text": "[i got cop gear to turn over]", "condition": { @@ -112,7 +125,20 @@ }, { "text": "[LIE: someone took cop gear before I could. sorry]", - "condition": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + "condition": { + "and": [ + { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, + { + "and": [ + { "not": { "math": [ "isherwood_gear_retrival_armor_body_count", ">=", "1" ] } }, + { "not": { "math": [ "isherwood_gear_retrival_helmet_count", ">=", "1" ] } }, + { "not": { "math": [ "isherwood_gear_retrival_armor_arm_count", ">=", "1" ] } }, + { "not": { "math": [ "isherwood_gear_retrival_armor_leg_count", ">=", "1" ] } } + ] + }, + { "math": [ "isherwood_gear_status", "<", "1" ] } + ] + }, "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": false }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail" }, @@ -125,7 +151,10 @@ { "math": [ "isherwood_wall_status", "<", "1" ] } ] }, - "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS", "success": true }, + "effect": [ + { "u_sell_item": "bag_canvas", "count": 20 }, + { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS", "success": true } + ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done" }, { @@ -265,7 +294,9 @@ { "text": "Yeah, I think we should work together on this. Do you mind if I take the lead? I've probably got more experience.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -274,7 +305,9 @@ "dynamic_line": "*looks at you with obvious doubt. \"You sure you know what you're getting into? I can't stop you if you plan on going in solo, but it seems like a terrible idea. Those things mean business. I won't be able to go in and help you if you get trapped too. It's probably better we pair up.\"", "responses": [ { "text": "Trust me. See you in a bit.", "topic": "TALK_DONE" }, - { "text": "If you insist, yeah, we could team up.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" } + { "text": "If you insist, yeah, we could team up.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_JOINS" }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -289,7 +322,9 @@ { "text": "It's all right. We've got this, you get things ready for when we return with Barry.", "topic": "TALK_DONE" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -299,7 +334,11 @@ "responses": [ { "text": "All right. Let's kick some alien butt.", - "effect": [ { "math": [ "isherwood_family_coming", "=", "0" ] } ], + "effect": [ + { "math": [ "isherwood_family_coming", "=", "0" ] }, + { "run_eocs": "isherwood_mission_initialization_eoc" }, + { "math": [ "npc_isherwood_barry_rescue_attempts", "++" ] } + ], "topic": "TALK_DONE" }, { @@ -309,7 +348,9 @@ { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -326,7 +367,16 @@ "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" }, - { "text": "Well, I guess it's just us. Let's go.", "topic": "TALK_DONE" } + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { + "text": "Well, I guess it's just us. Let's go.", + "effect": [ + { "math": [ "isherwood_family_coming", "=", "0" ] }, + { "run_eocs": "isherwood_mission_initialization_eoc" }, + { "math": [ "npc_isherwood_barry_rescue_attempts", "++" ] } + ], + "topic": "TALK_DONE" + } ] }, { @@ -345,11 +395,14 @@ "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, { "text": "All right. Let's kick some alien butt.", "effect": [ { "math": [ "isherwood_family_coming", "=", "0" ] }, - { "queue_eocs": "isherwood_mission_lisa_coming", "time_in_future": "1 hour" } + { "queue_eocs": "isherwood_mission_lisa_coming", "time_in_future": "1 hour" }, + { "run_eocs": "isherwood_mission_initialization_eoc" }, + { "math": [ "npc_isherwood_barry_rescue_attempts", "++" ] } ], "topic": "TALK_DONE" }, @@ -376,6 +429,7 @@ "text": "Is there anyone else around here that could help us?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_TAKE_LISA" }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, { "text": "OK. Let's talk about it again in a bit.", "topic": "TALK_DONE" } ] }, @@ -412,7 +466,9 @@ ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -422,7 +478,11 @@ "responses": [ { "text": "Let's go get your uncle back.", - "effect": [ { "math": [ "isherwood_family_coming", "=", "1" ] }, { "run_eocs": "isherwood_mission_initialization_eoc" } ], + "effect": [ + { "math": [ "isherwood_family_coming", "=", "1" ] }, + { "run_eocs": "isherwood_mission_initialization_eoc" }, + { "math": [ "npc_isherwood_barry_rescue_attempts", "++" ] } + ], "topic": "TALK_DONE" }, { @@ -443,7 +503,9 @@ ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -456,7 +518,9 @@ "text": "[yeah bro i'll do it]", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, "topic": "TALK_DONE" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -507,27 +571,34 @@ "effect": { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "success": true }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done" }, - { "text": "That's all for now. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS" }, - { "text": "That's all for now. I'll see you later.", "topic": "TALK_DONE" } + { "text": "That's all for now. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "That's all for now. I'd better get going.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done", "dynamic_line": "[sweet now we beefed up.]", - "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] + "responses": [ + { "text": "[woo hoo] Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "[woo hoo]", "topic": "TALK_DONE" } + ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail", "dynamic_line": "[aw shucks that's bad. now no sweet armor.]", - "responses": [ { "text": "[sorry]", "topic": "TALK_DONE" } ] + "responses": [ + { "text": "Sorry. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "[sorry]", "topic": "TALK_DONE" } + ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall", "dynamic_line": "[yeah bro that sounds sweet. I got a plan Dutch, get 20 canvas bags 4 me. I get traps and we lay a wall with da truck]", "responses": [ + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, { "text": "[nah bro let's not bother]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, { "text": "[yeah bro i'll do it]", @@ -540,7 +611,10 @@ "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done", "dynamic_line": "[sweet now we get something between us. Give me 1 day and we ready]", - "responses": [ { "text": "[woo hoo]", "topic": "TALK_DONE" } ] + "responses": [ + { "text": "[woo hoo] Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "[woo hoo]", "topic": "TALK_DONE" } + ] }, { "type": "talk_topic", @@ -549,7 +623,7 @@ "responses": [ { "text": "All right. Let's kick some alien butt.", - "effect": [ { "run_eocs": "isherwood_mission_initialization_eoc" } ], + "effect": [ { "run_eocs": "isherwood_mission_initialization_eoc" }, { "math": [ "npc_isherwood_barry_rescue_attempts", "++" ] } ], "topic": "TALK_DONE" }, { @@ -559,7 +633,9 @@ { "text": "You mentioned that Carlos, Eddie and Luke probably can't help in a firefight. Is there any other way we could use them?", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_THE_ISHERWOODS" - } + }, + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, { @@ -628,7 +704,12 @@ "goal": "MGOAL_NULL", "difficulty": 1, "value": 0, - "end": { "effect": { "queue_eocs": "isherwood_mission_wall_finished", "time_in_future": "24 hours" } }, + "end": { + "effect": [ + { "queue_eocs": "isherwood_mission_wall_finished", "time_in_future": "24 hours" }, + { "math": [ "isherwood_wall_status", "++" ] } + ] + }, "origins": [ "ORIGIN_SECONDARY" ], "has_generic_rewards": false, "//": "Dialogue for this mission is handled externally.", From c70dfde853d0be01283c3887f14f34e9a748958a Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Mon, 6 May 2024 08:32:48 -0400 Subject: [PATCH 15/40] Add some stuff for Luke's truck bomb mission --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 8 ++++++++ data/json/mapgen/nested/isherwood_mission_nested.json | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 9d4b81b7b4eae..5f2ad1a8261a9 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -23,6 +23,14 @@ { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] } ] } + }, + { + "if": { "math": [ "isherwood_luke_truck_coming", "==", "1" ] }, + "then": { + "mapgen_update": "truck_bomb_spawn", + "om_terrain": "barry_mi-go_scout_tower_1", + "om_special": "Barry's Mi-Go Scout Tower" + } } ] }, diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index 8526b91f4108a..403e7ca72c80f 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -228,5 +228,11 @@ "method": "json", "update_mapgen_id": "nest_Isherwood_firing_wall_add", "object": { "place_nested": [ { "chunks": [ "isherwood_barry_firing_wall" ], "x": 10, "y": 12 } ] } + }, + { + "type": "mapgen", + "method": "json", + "update_mapgen_id": "truck_bomb_spawn", + "object": { "place_item": [ { "item": "fake_dynamite_50lbs", "x": 17, "y": 18, "custom-flags": [ "ACTIVATE_ON_PLACE" ] } ] } } ] From 14e5c488c305837cb1f13ee5726abed8d33a0d72 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Mon, 6 May 2024 08:48:36 -0400 Subject: [PATCH 16/40] More Luke truck bomb stuff --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 11 +++++++++++ data/json/mapgen/nested/isherwood_mission_nested.json | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 5f2ad1a8261a9..9a68fd7fe669b 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -313,5 +313,16 @@ ] }, "effect": [ { "math": [ "currently_invading_map", "=", "1" ] }, { "math": [ "is_isherwood_flee_eoc_activated", "=", "1" ] } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_LUKE_RETRIEVE_TRUCK_END", + "condition": { "not": { "u_near_om_location": "trailhead_shack_z0", "range": 2 } }, + "deactivate_condition": { "math": [ "isherwood_luke_truck_status", ">", "1" ] }, + "effect": [ + { "mapgen_update": "LUKE_REMOVE_TRUCK", "om_terrain": "trailhead_shack_z0" }, + { "math": [ "isherwood_luke_truck_status", "++" ] } + ], + "false_effect": [ { "queue_eocs": "EOC_LUKE_RETRIEVE_TRUCK_END", "time_in_future": 100 } ] } ] diff --git a/data/json/mapgen/nested/isherwood_mission_nested.json b/data/json/mapgen/nested/isherwood_mission_nested.json index 403e7ca72c80f..a31103a5dd86d 100644 --- a/data/json/mapgen/nested/isherwood_mission_nested.json +++ b/data/json/mapgen/nested/isherwood_mission_nested.json @@ -234,5 +234,11 @@ "method": "json", "update_mapgen_id": "truck_bomb_spawn", "object": { "place_item": [ { "item": "fake_dynamite_50lbs", "x": 17, "y": 18, "custom-flags": [ "ACTIVATE_ON_PLACE" ] } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "LUKE_REMOVE_TRUCK", + "method": "json", + "object": { "remove_vehicles": [ { "vehicles": [ "pickup" ], "x": [ 0, 23 ], "y": [ 0, 23 ] } ] } } ] From da868a41ffd93980d2bd779f55b384e1126fc748 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Tue, 7 May 2024 21:26:37 -0400 Subject: [PATCH 17/40] Fixed the damage retreat EOC! Also have the player go with the Isherwoods when they leave. --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 39 +++++++++++++++---- 1 file changed, 31 insertions(+), 8 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 9a68fd7fe669b..e862332774bd9 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -175,10 +175,8 @@ { "type": "effect_on_condition", "id": "isherwood_mission_large_damage_retreat", - "eoc_type": "EVENT", - "required_event": "character_takes_damage", - "//": "I cant get this one to work right now, and I have no idea what's wrong. It will need to be fixed.", - "condition": { "and": [ { "math": [ "currently_invading_map", "==", "1" ] } ] }, + "recurrence": 1, + "condition": { "math": [ "currently_invading_map", "==", "1" ] }, "effect": [ { "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, @@ -186,14 +184,21 @@ "u_run_npc_eocs": [ { "id": "EOC_ISHERWOODS_TOO_MUCH_DAMAGE_FLEE", - "condition": { "math": [ "u_hp('ALL')", "<=", "(u_hp_max('bp_null') * 0.7)" ] }, + "condition": { + "or": [ + { "math": [ "u_hp('ALL')", "<=", "(u_hp_max('bp_null') * 0.7)" ] }, + { "math": [ "u_effect_intensity('bleed')", ">=", "3" ] } + ] + }, "effect": [ { "u_teleport": { "global_val": "_teleport_pos" }, "force": true }, { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road", "om_special": "Barry's Mi-Go Scout Tower" - } + }, + { "math": [ "currently_invading_map", "=", "0" ] }, + { "queue_eocs": "isherwood_mission_damage_flee_message", "time_in_future": 1 } ] } ], @@ -245,7 +250,16 @@ "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] }, { "math": [ "currently_invading_map", "=", "0" ] }, - { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] } + { "math": [ "is_isherwood_flee_eoc_activated", "=", "0" ] }, + { + "u_location_variable": { "global_val": "isherwood_mission_sucess_return_map" }, + "target_params": { "om_terrain": "horse_farm_isherwood_13", "search_range": 500, "z": 0 }, + "furniture": "f_sofa", + "target_max_radius": 30, + "min_radius": 0, + "max_radius": 0 + }, + { "u_teleport": { "global_val": "isherwood_mission_sucess_return_map" }, "force": true } ] }, { @@ -295,7 +309,16 @@ "u_message": "It's too hairy out here, we've got to go! Meet us back home and regroup!", "type": "bad", "popup": true - } + }, + { + "u_location_variable": { "global_val": "isherwood_mission_sucess_return_map" }, + "target_params": { "om_terrain": "horse_farm_isherwood_13", "search_range": 500, "z": 0 }, + "furniture": "f_sofa", + "target_max_radius": 30, + "min_radius": 0, + "max_radius": 0 + }, + { "u_teleport": { "global_val": "isherwood_mission_sucess_return_map" }, "force": true } ] }, { From de4565e5450119e0e665209e92db43638f0f886e Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Tue, 7 May 2024 21:34:29 -0400 Subject: [PATCH 18/40] Massively increase Isherwood ammo stores for the mission; they'd want to bring a lot of bullets. --- .../npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json index 014bc6b4c41ff..e93d88a17900a 100644 --- a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json +++ b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json @@ -314,9 +314,9 @@ { "distribution": [ { "item": "backpack_leather" }, { "item": "wicker_backpack" }, { "item": "slingpack" } ] }, { "item": "armor_riot" }, { - "collection": [ { "item": "3006", "container-item": "ammo_pouch" }, { "item": "3006", "charges": [ 4, 8 ] } ] + "collection": [ { "item": "3006", "container-item": "ammo_pouch" }, { "item": "3006", "charges": [ 24, 28 ] } ] }, - { "item": "3006", "charges": [ 4, 8 ] }, + { "item": "3006", "charges": [ 24, 28 ] }, { "distribution": [ { "item": "boxer_briefs" }, { "item": "boxer_shorts" }, { "item": "briefs" } ] }, { "distribution": [ { "item": "tshirt" }, { "item": "undershirt" } ] }, { "distribution": [ { "item": "jeans" }, { "item": "pants_cargo" }, { "item": "pants_leather" } ] }, From 759f3ebdc825526ce4ce3f8ec0e203b7471fc0c4 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:40:05 -0400 Subject: [PATCH 19/40] Update isherwood_barry_rescue_eocs.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index e862332774bd9..7a5db296f8c0d 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -146,7 +146,7 @@ "effect": [ { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1", "success": true }, { - "u_message": "Barry turns about and tells you, \"I know where I am now, I'll go on ahead. They'll be so happy to see me, thank you for everything! Come drop by the farm sometime, we'll have something for you!\"", + "u_message": "Barry raises a hand to signal you to stop. \"This is it. Thank you so much. I can't believe I'm here, alive. It almost feels like I'm dreaming, like it can't be real.\" He stares at you, his eyes glistening. \"Whoever you are, thank you. I'm going to head the rest of the way now and catch up to my family. Come by and talk to me later when I've had a moment to rest.\"", "type": "good", "popup": true }, From 37eae6062fc2113ea5e76d3488adda63ed8f543e Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:40:16 -0400 Subject: [PATCH 20/40] Update isherwood_barry_rescue_eocs.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 7a5db296f8c0d..48019f8cae76b 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -229,7 +229,7 @@ }, "effect": [ { - "u_message": "Are you leaving? Fine then, we're heading home too! Meet us back there!", + "u_message": "Chris sees you leaving the tower, and gives you a harsh look. \"Where are you going? Dammit, we're backing out? Fine. I'll make sure everyone knows.\"", "type": "bad", "popup": true }, From e0821c3433ba8347611f00623dbe9ef8750c8fa7 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:20 -0400 Subject: [PATCH 21/40] Update isherwood_barry_rescue_eocs.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 48019f8cae76b..91e70ca58ad3b 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -306,7 +306,7 @@ "global": true, "effect": [ { - "u_message": "It's too hairy out here, we've got to go! Meet us back home and regroup!", + "u_message": "You hear a horn honk, and one of the Isherwoods calling out from their truck. \"We're swarmed out here! We're going to have to head back and regroup!\" The horn bleats again, and there's a sound of an engine revving, followed by the fleshy 'smack' of something large hitting a windshield.", "type": "bad", "popup": true }, From 9a3e5d604fe19480a4e4f12fdd4a8be603cb124a Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:29 -0400 Subject: [PATCH 22/40] Update Isherwood_Rescue_NPC_Duplicates.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 5e68e5310e06b..abbac1075f4a3 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -2,7 +2,11 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES", - "dynamic_line": "I can't really talk right now, I'm busy. Let's get Barry!", + "dynamic_line": { + "follower_present": "NC_ISHERWOOD_BARRY", + "no": [ "What's up? Change of plans?", "Everything OK?", "Not really a good time for a chat.", "I can't believe this is happening." ] + "yes": [ "Barry! Oh my god, you found him!", "Barry! You're okay!", "Oh god, oh thank god. Let's get Barry out of here." ] + }, "responses": [ { "text": "I've got Barry, let's get out of here.", From 899a1ac796c7630a24a12819a50011329ddd6440 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:35 -0400 Subject: [PATCH 23/40] Update Isherwood_Rescue_NPC_Duplicates.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index abbac1075f4a3..4bc1e2097d8b3 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -9,7 +9,7 @@ }, "responses": [ { - "text": "I've got Barry, let's get out of here.", + "text": "We've got him, let's get out of here.", "condition": { "and": [ { "math": [ "isherwood_family_coming", "==", "1" ] }, From 21ceef30d72937d3f18a119c8a2736f1d15638ca Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:41 -0400 Subject: [PATCH 24/40] Update Isherwood_Rescue_NPC_Duplicates.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 4bc1e2097d8b3..3da10d80fc2ae 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -34,7 +34,7 @@ ], "topic": "TALK_DONE" }, - { "text": "Sure thing, I'll be back soon.", "topic": "TALK_DONE" } + { "text": "Right. Let's do this.", "topic": "TALK_DONE" } ] }, { From f92b4c97c65f928a4faa8c5638db349fed42c1b6 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:46 -0400 Subject: [PATCH 25/40] Update Isherwood_Rescue_NPC_Duplicates.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 3da10d80fc2ae..ffa928289bdc1 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -40,7 +40,7 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", - "dynamic_line": "Hey, good to see you! Are you ready to get Barry back?", + "dynamic_line": "*eyes you up and down with a nervous smile. \"I almost didn't expect you to show up.\" He hesitates, letting out a soft laugh. \"That sounds bad. I just mean, I can't really believe we're doing this. Thank you… for doing this. You ready to get Uncle Barry?\"", "responses": [ { "text": "Let's do this!", "effect": "follow_only", "topic": "TALK_DONE" }, { "text": "Not yet, just give me a minute.", "topic": "TALK_DONE" } From aa0e3e782e2c79c4a8f3b44ca9317e2a1c96af77 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Wed, 8 May 2024 14:41:52 -0400 Subject: [PATCH 26/40] Update Isherwood_Rescue_NPC_Duplicates.json Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- .../npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index ffa928289bdc1..0453b44a89845 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -42,7 +42,7 @@ "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "dynamic_line": "*eyes you up and down with a nervous smile. \"I almost didn't expect you to show up.\" He hesitates, letting out a soft laugh. \"That sounds bad. I just mean, I can't really believe we're doing this. Thank you… for doing this. You ready to get Uncle Barry?\"", "responses": [ - { "text": "Let's do this!", "effect": "follow_only", "topic": "TALK_DONE" }, + { "text": "You got it, let's go!", "effect": "follow_only", "topic": "TALK_DONE" }, { "text": "Not yet, just give me a minute.", "topic": "TALK_DONE" } ] } From 35a26661002408f7362944e5a79e45dd6987c160 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Wed, 8 May 2024 22:13:59 -0400 Subject: [PATCH 27/40] Fix an error --- .../Isherwood_Rescue_NPC_Duplicates.json | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json index 0453b44a89845..1af935d092d33 100644 --- a/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json +++ b/data/json/npcs/isherwood_farm/Isherwood_Rescue_NPC_Duplicates.json @@ -2,11 +2,16 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_FAMILY_DUPLICATES", - "dynamic_line": { + "dynamic_line": { "follower_present": "NC_ISHERWOOD_BARRY", - "no": [ "What's up? Change of plans?", "Everything OK?", "Not really a good time for a chat.", "I can't believe this is happening." ] + "no": [ + "What's up? Change of plans?", + "Everything OK?", + "Not really a good time for a chat.", + "I can't believe this is happening." + ], "yes": [ "Barry! Oh my god, you found him!", "Barry! You're okay!", "Oh god, oh thank god. Let's get Barry out of here." ] - }, + }, "responses": [ { "text": "We've got him, let's get out of here.", From e51e81428bd8e4bd1ddc77f026b71f3ed2298e16 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Wed, 8 May 2024 21:46:17 -0700 Subject: [PATCH 28/40] Stabilize the isherwoods' starting stats any isherwoods that rely on cloning do not vary as much. We may want to make skills more stable as well but this covers the most obvious stuff. --- .../NPCS_Isherwood_Rescue_Duplicates.json | 138 ++++++++++++++++-- .../isherwood_farm/NPC_Carlos_Isherwood.json | 16 +- .../isherwood_farm/NPC_Chris_Isherwood.json | 19 ++- .../isherwood_farm/NPC_Claire_Isherwood.json | 2 + .../isherwood_farm/NPC_Eddie_Isherwood.json | 15 +- .../isherwood_farm/NPC_Jack_Isherwood.json | 2 + .../isherwood_farm/NPC_Jesse_Isherwood.json | 16 +- .../isherwood_farm/NPC_Lisa_Isherwood.json | 12 +- .../isherwood_farm/NPC_Luke_Isherwood.json | 14 +- 9 files changed, 207 insertions(+), 27 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json index e93d88a17900a..99996c25b1cc2 100644 --- a/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json +++ b/data/json/npcs/isherwood_farm/NPCS_Isherwood_Rescue_Duplicates.json @@ -8,6 +8,13 @@ "class": "NC_ISHERWOOD_CARLOS", "attitude": 0, "mission": 7, + "age": 51, + "height": 176, + "str": 9, + "dex": 8, + "int": 7, + "per": 9, + "personality": { "aggression": -2, "bravery": 4, "collector": -2, "altruism": -1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -20,6 +27,13 @@ "class": "NC_ISHERWOOD_CARLOS_SWAT", "attitude": 0, "mission": 7, + "age": 51, + "height": 176, + "str": 9, + "dex": 8, + "int": 7, + "per": 9, + "personality": { "aggression": -2, "bravery": 4, "collector": -2, "altruism": -1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -29,13 +43,16 @@ "name": { "str": "Carlos Isherwood" }, "job_description": "I'm Jesse's husband, part of the Isherwood family.", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "NIGHTVISION" }, + { "trait": "BADKNEES" }, + { "trait": "GOODMEMORY" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "gray" }, + { "trait": "hair_short", "variant": "gray" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_swat_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ @@ -60,6 +77,13 @@ "class": "NC_ISHERWOOD_EDDIE", "attitude": 0, "mission": 7, + "age": 41, + "height": 179, + "str": 9, + "dex": 7, + "int": 7, + "per": 8, + "personality": { "aggression": -4, "bravery": -1, "collector": 1, "altruism": 1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -72,6 +96,13 @@ "class": "NC_ISHERWOOD_EDDIE_SWAT", "attitude": 0, "mission": 7, + "age": 41, + "height": 179, + "str": 9, + "dex": 7, + "int": 7, + "per": 8, + "personality": { "aggression": -4, "bravery": -1, "collector": 1, "altruism": 1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -81,8 +112,12 @@ "name": { "str": "Eddie Isherwood" }, "job_description": "I'm a dairy farmer, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "ASTHMA" }, + { "trait": "JITTERY" }, + { "trait": "OPTIMISTIC" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "hazel" }, + { "trait": "hair_short", "variant": "black" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], @@ -113,6 +148,13 @@ "class": "NC_ISHERWOOD_LUKE", "attitude": 0, "mission": 7, + "age": 16, + "height": 181, + "str": 8, + "dex": 9, + "int": 7, + "per": 8, + "personality": { "aggression": 2, "bravery": 8, "collector": 1, "altruism": 2 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -125,6 +167,13 @@ "class": "NC_ISHERWOOD_LUKE_SWAT", "attitude": 0, "mission": 7, + "age": 16, + "height": 181, + "str": 8, + "dex": 9, + "int": 7, + "per": 8, + "personality": { "aggression": 2, "bravery": 8, "collector": 1, "altruism": 2 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -134,8 +183,11 @@ "name": { "str": "Luke Isherwood" }, "job_description": "I'm Eddie's son, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "FLEET" }, + { "trait": "TOUGH" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "hazel" }, + { "trait": "hair_short", "variant": "black" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], @@ -165,6 +217,13 @@ "class": "NC_ISHERWOOD_JESSE", "attitude": 0, "mission": 7, + "age": 43, + "height": 168, + "str": 7, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 4, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -177,6 +236,13 @@ "class": "NC_ISHERWOOD_JESSE_SWAT", "attitude": 0, "mission": 7, + "age": 43, + "height": 168, + "str": 7, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 4, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES", "faction": "isherwood_family" }, @@ -186,13 +252,16 @@ "name": { "str": "Jesse Isherwood" }, "job_description": "I'm a horse trainer, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "WEAKSTOMACH" }, + { "trait": "ANTIJUNK" }, + { "trait": "ANIMALEMPATH" }, + { "trait": "SKIN_ROSE" }, + { "trait": "eye_color", "variant": "blue" }, + { "trait": "hair_ponytail", "variant": "brown" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_swat_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ @@ -217,6 +286,13 @@ "class": "NC_ISHERWOOD_LISA", "attitude": 0, "mission": 7, + "age": 20, + "height": 170, + "str": 8, + "dex": 9, + "int": 10, + "per": 9, + "personality": { "aggression": 1, "bravery": 5, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, @@ -229,6 +305,13 @@ "class": "NC_ISHERWOOD_LISA_SWAT", "attitude": 0, "mission": 7, + "age": 20, + "height": 170, + "str": 8, + "dex": 9, + "int": 10, + "per": 9, + "personality": { "aggression": 1, "bravery": 5, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, @@ -238,13 +321,16 @@ "name": { "str": "Lisa Isherwood" }, "job_description": "Part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "ANIMALEMPATH" }, + { "trait": "ANTIJUNK" }, + { "trait": "PRETTY" }, + { "trait": "SKIN_LIGHT" }, + { "trait": "eye_color", "variant": "blue" }, + { "trait": "hair_short_over_eye", "variant": "brown" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_swat_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ @@ -268,6 +354,13 @@ "class": "NC_ISHERWOOD_CHRIS", "attitude": 0, "mission": 7, + "age": 21, + "height": 177, + "str": 8, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 5, "collector": -3, "altruism": 1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, @@ -280,6 +373,13 @@ "class": "NC_ISHERWOOD_CHRIS_SWAT", "attitude": 0, "mission": 7, + "age": 21, + "height": 177, + "str": 8, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 5, "collector": -3, "altruism": 1 }, "chat": "TALK_ISHERWOOD_FAMILY_DUPLICATES_CHRIS", "faction": "isherwood_family" }, @@ -288,7 +388,17 @@ "id": "NC_ISHERWOOD_CHRIS_SWAT", "name": { "str": "Chris Isherwood" }, "job_description": "I'm Jesse and Carlos' son, part of the Isherwood family", - "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" }, { "trait": "NO_BASH" } ], + "traits": [ + { "trait": "FLEET" }, + { "trait": "LIGHTSTEP" }, + { "trait": "WEAKSTOMACH" }, + { "trait": "ANTIJUNK" }, + { "trait": "PRETTY" }, + { "trait": "SKIN_LIGHT" }, + { "trait": "eye_color", "variant": "blue" }, + { "trait": "hair_medium", "variant": "black" }, + { "trait": "NO_BASH" } + ], "common": false, "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_swat_worn", diff --git a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json index af084b03606a7..a6cc6503e1f57 100644 --- a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json @@ -9,6 +9,13 @@ "class": "NC_ISHERWOOD_CARLOS", "attitude": 0, "mission": 7, + "age": 44, + "height": 176, + "str": 9, + "dex": 8, + "int": 7, + "per": 9, + "personality": { "aggression": -2, "bravery": 4, "collector": -2, "altruism": -1 }, "chat": "TALK_ISHERWOOD_CARLOS", "mission_offered": "MISSION_ISHERWOOD_CARLOS_1", "faction": "isherwood_family" @@ -19,13 +26,16 @@ "name": { "str": "Carlos Isherwood" }, "job_description": "I'm Jesse's husband, part of the Isherwood family.", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "NIGHTVISION" }, + { "trait": "BADKNEES" }, + { "trait": "GOODMEMORY" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "gray" }, + { "trait": "hair_short", "variant": "gray" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_male_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 5b50850951efd..bc8abb79304ed 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -9,6 +9,13 @@ "class": "NC_ISHERWOOD_CHRIS", "attitude": 0, "mission": 7, + "age": 21, + "height": 177, + "str": 8, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 5, "collector": -3, "altruism": 1 }, "chat": "TALK_ISHERWOOD_CHRIS", "mission_offered": "MISSION_ISHERWOOD_CHRIS_1", "faction": "isherwood_family" @@ -18,7 +25,17 @@ "id": "NC_ISHERWOOD_CHRIS", "name": { "str": "Chris Isherwood" }, "job_description": "I'm Jesse and Carlos' son, part of the Isherwood family", - "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" }, { "trait": "NO_BASH" } ], + "traits": [ + { "trait": "FLEET" }, + { "trait": "LIGHTSTEP" }, + { "trait": "WEAKSTOMACH" }, + { "trait": "ANTIJUNK" }, + { "trait": "PRETTY" }, + { "trait": "SKIN_LIGHT" }, + { "trait": "eye_color", "variant": "blue" }, + { "trait": "hair_medium", "variant": "black" }, + { "trait": "NO_BASH" } + ], "common": false, "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_male_worn", diff --git a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json index 99a963261d113..f6bc12331dafa 100644 --- a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json @@ -8,6 +8,8 @@ "class": "NC_ISHERWOOD_CLAIRE", "attitude": 0, "mission": 7, + "age": 67, + "height": 153, "chat": "TALK_ISHERWOOD_CLAIRE", "mission_offered": "MISSION_ISHERWOOD_CLAIRE_1", "faction": "isherwood_family" diff --git a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json index 1b16f280f3c6d..c5bbaa6006a0b 100644 --- a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json @@ -9,6 +9,13 @@ "class": "NC_ISHERWOOD_EDDIE", "attitude": 0, "mission": 7, + "age": 41, + "height": 179, + "str": 9, + "dex": 7, + "int": 7, + "per": 8, + "personality": { "aggression": -4, "bravery": -1, "collector": 1, "altruism": 1 }, "chat": "TALK_ISHERWOOD_EDDIE", "mission_offered": "MISSION_ISHERWOOD_EDDIE_1", "faction": "isherwood_family" @@ -19,8 +26,12 @@ "name": { "str": "Eddie Isherwood" }, "job_description": "I'm a dairy farmer, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "ASTHMA" }, + { "trait": "JITTERY" }, + { "trait": "OPTIMISTIC" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "hazel" }, + { "trait": "hair_short", "variant": "black" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], diff --git a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json index 2ea78555a7ad4..6e26d66c82d6a 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json @@ -8,6 +8,8 @@ "class": "NC_ISHERWOOD_JACK", "attitude": 0, "mission": 7, + "age": 73, + "height": 184, "chat": "TALK_ISHERWOOD_JACK", "mission_offered": "MISSION_ISHERWOOD_JACK_1", "faction": "isherwood_family" diff --git a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json index 9d6222034c054..74b75ace720da 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json @@ -8,6 +8,13 @@ "class": "NC_ISHERWOOD_JESSE", "attitude": 0, "mission": 7, + "age": 43, + "height": 168, + "str": 7, + "dex": 9, + "int": 8, + "per": 9, + "personality": { "aggression": 2, "bravery": 4, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_JESSE", "mission_offered": "MISSION_ISHERWOOD_JESSE_1", "faction": "isherwood_family" @@ -18,13 +25,16 @@ "name": { "str": "Jesse Isherwood" }, "job_description": "I'm a horse trainer, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "WEAKSTOMACH" }, + { "trait": "ANTIJUNK" }, + { "trait": "ANIMALEMPATH" }, + { "trait": "SKIN_ROSE" }, + { "trait": "eye_color", "variant": "blue" }, + { "trait": "hair_ponytail", "variant": "brown" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_female_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ diff --git a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json index 89d300a8036cc..1fca635088497 100644 --- a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json @@ -8,6 +8,13 @@ "class": "NC_ISHERWOOD_LISA", "attitude": 0, "mission": 7, + "age": 20, + "height": 170, + "str": 8, + "dex": 9, + "int": 10, + "per": 9, + "personality": { "aggression": 1, "bravery": 5, "collector": 1, "altruism": 3 }, "chat": "TALK_ISHERWOOD_LISA", "faction": "isherwood_family" }, @@ -17,13 +24,14 @@ "name": { "str": "Lisa Isherwood" }, "job_description": "Part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, + { "trait": "ANIMALEMPATH" }, + { "trait": "ANTIJUNK" }, + { "trait": "PRETTY" }, { "group": "Appearance_demographics" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], "common": false, - "bonus_per": { "one_in": 4 }, "worn_override": "NC_Isherwood_female_worn", "weapon_override": "NC_ISHERWOOD_rifle", "skills": [ diff --git a/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json index f236a0a51a86f..9e6abaf97faa0 100644 --- a/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json @@ -9,6 +9,13 @@ "class": "NC_ISHERWOOD_LUKE", "attitude": 0, "mission": 7, + "age": 16, + "height": 181, + "str": 8, + "dex": 9, + "int": 7, + "per": 8, + "personality": { "aggression": 2, "bravery": 8, "collector": 1, "altruism": 2 }, "chat": "TALK_ISHERWOOD_LUKE", "mission_offered": "MISSION_ISHERWOOD_LUKE_1", "faction": "isherwood_family" @@ -19,8 +26,11 @@ "name": { "str": "Luke Isherwood" }, "job_description": "I'm Eddie's son, part of the Isherwood family", "traits": [ - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" }, + { "trait": "FLEET" }, + { "trait": "TOUGH" }, + { "trait": "SKIN_TAN" }, + { "trait": "eye_color", "variant": "hazel" }, + { "trait": "hair_short", "variant": "black" }, { "trait": "NO_BASH" }, { "trait": "RETURN_TO_START_POS" } ], From 7a429ac214e0c6f9adcfcd3e032db0d842aee778 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 10 May 2024 22:59:24 -0700 Subject: [PATCH 29/40] start writing lisa dialogue --- data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json index 1fca635088497..3f3d3a88af9c1 100644 --- a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json @@ -81,14 +81,14 @@ "condition": { "and": [ { "not": { "u_is_wearing": "badge_marshal" } }, { "u_has_var": "u_heard_about_chris", "value": "yes" } ] } }, { - "text": "[chris tell about plan? we get barry back need u.]", + "text": "I talked to Chris about rescuing Barry. He thinks you might be able to help.", "topic": "TALK_ISHERWOOD_CHRIS_TALKED_TO_LISA", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "timer_chris_talked_to_lisa", ">=", "time('1 h')" ] } ] } }, { - "text": "[chris tell about plan? we get barry back need u.]", + "text": "I talked to Chris about rescuing Barry. He thinks you might be able to help.", "topic": "TALK_ISHERWOOD_CHRIS_NOT_TALKED_TO_LISA", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" }, { "math": [ "timer_chris_talked_to_lisa", "<", "time('1 h')" ] } ] @@ -153,13 +153,13 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_TALKED_TO_LISA", - "dynamic_line": "[yeah he did im in on it lets kick ass]", + "dynamic_line": "Yeah, Chris talked to me a minute ago.\" She touches the shoulder strap on her rifle. \"I can't believe he's not trying to talk me out of it, really, but I'd do anything to save Uncle Barry. I'll be ready at the tower, when you need me.", "responses": [ { "text": "[sweet see u then]", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_NOT_TALKED_TO_LISA", - "dynamic_line": "[no he didnt whats the plan]", + "dynamic_line": "He did?\" She touches the shoulder strap on her rifle. \"Like, action? Yeah, I'm a pretty good shot, and I'd do anything to save Uncle Barry. I'm surprised Chris didn't try to go all protective older brother on me. What's the plan?\" She listens intently as you explain. \"All right. I'll be ready at the tower when you need me.", "responses": [ { "text": "[que expalnation of plan. u want in?]", "topic": "TALK_ISHERWOOD_LISA_JOIN_RESCUE" } ] }, { From ffc3c20153ad4a25832e7840665957aff0c801dc Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Mon, 13 May 2024 10:58:34 -0400 Subject: [PATCH 30/40] Add a fail state if Barry dies --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 32 +++++++++++++++++++ .../isherwood_farm/NPC_Barry_Isherwood.json | 3 +- .../isherwood_farm/NPC_Chris_Isherwood.json | 8 ++--- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 91e70ca58ad3b..91510d7ce76d1 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -347,5 +347,37 @@ { "math": [ "isherwood_luke_truck_status", "++" ] } ], "false_effect": [ { "queue_eocs": "EOC_LUKE_RETRIEVE_TRUCK_END", "time_in_future": 100 } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_BARRY_ISHERWOOD_DIE", + "eoc_type": "NPC_DEATH", + "effect": [ { "queue_eocs": "EOC_BARRY_ISHERWOOD_DIE_TRUE_EFFECT", "time_in_future": 1 } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_BARRY_ISHERWOOD_DIE_TRUE_EFFECT", + "global": true, + "effect": [ + { "finish_mission": "MISSION_ISHERWOOD_CHRIS_1", "success": false }, + { "set_string_var": "true", "target_var": { "global_val": "is_barry_dead" } }, + { + "if": { "math": [ "isherwood_family_coming", "==", "1" ] }, + "then": [ + { "set_string_var": "blames_themselves", "target_var": { "global_val": "isherwood_barry_death_opinion" } }, + { "mapgen_update": "isherwood_rescue_remove_npcs", "om_terrain": "rural_road" }, + { + "u_location_variable": { "global_val": "isherwood_mission_sucess_return_map" }, + "target_params": { "om_terrain": "horse_farm_isherwood_13", "search_range": 500, "z": 0 }, + "furniture": "f_sofa", + "target_max_radius": 30, + "min_radius": 0, + "max_radius": 0 + }, + { "u_teleport": { "global_val": "isherwood_mission_sucess_return_map" }, "force": true } + ], + "else": { "set_string_var": "blames_you", "target_var": { "global_val": "isherwood_barry_death_opinion" } } + } + ] } ] diff --git a/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json index cbfcdabbd754d..e2d3ee59c5b80 100644 --- a/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Barry_Isherwood.json @@ -11,7 +11,8 @@ "mission": 7, "chat": "TALK_ISHERWOOD_BARRY_RESCUE", "mission_offered": "MISSION_ISHERWOOD_BARRY_1", - "faction": "isherwood_family" + "faction": "isherwood_family", + "death_eocs": [ "EOC_BARRY_ISHERWOOD_DIE" ] }, { "type": "npc_class", diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index bc8abb79304ed..fa1948a1b0604 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -548,25 +548,25 @@ { "text": "[bod armor]", "condition": { "and": [ { "u_has_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "<", "5" ] } ] }, - "effect": [ { "u_sell_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], + "effect": [ { "u_consume_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[helmet]", "condition": { "and": [ { "u_has_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "<", "5" ] } ] }, - "effect": [ { "u_sell_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], + "effect": [ { "u_consume_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[arm armor]", "condition": { "and": [ { "u_has_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "<", "5" ] } ] }, - "effect": [ { "u_sell_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], + "effect": [ { "u_consume_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { "text": "[leg armor]", "condition": { "and": [ { "u_has_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "<", "5" ] } ] }, - "effect": [ { "u_sell_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], + "effect": [ { "u_consume_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { From 392105f3b3d1582843c2081f4147fa9d34d54098 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 13 May 2024 18:11:37 -0700 Subject: [PATCH 31/40] Update NPC_Lisa_Isherwood.json --- data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json index 3f3d3a88af9c1..4c7524f0d4fa4 100644 --- a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json @@ -154,21 +154,21 @@ "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_TALKED_TO_LISA", "dynamic_line": "Yeah, Chris talked to me a minute ago.\" She touches the shoulder strap on her rifle. \"I can't believe he's not trying to talk me out of it, really, but I'd do anything to save Uncle Barry. I'll be ready at the tower, when you need me.", - "responses": [ { "text": "[sweet see u then]", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Great. I'll see you there.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_NOT_TALKED_TO_LISA", - "dynamic_line": "He did?\" She touches the shoulder strap on her rifle. \"Like, action? Yeah, I'm a pretty good shot, and I'd do anything to save Uncle Barry. I'm surprised Chris didn't try to go all protective older brother on me. What's the plan?\" She listens intently as you explain. \"All right. I'll be ready at the tower when you need me.", - "responses": [ { "text": "[que expalnation of plan. u want in?]", "topic": "TALK_ISHERWOOD_LISA_JOIN_RESCUE" } ] + "dynamic_line": "He did?\" She touches the shoulder strap on her rifle. \"Like, action? Yeah, I'm a pretty good shot, and I'd do anything to save Uncle Barry. I'm surprised Chris didn't try to go all protective older brother on me. What's the plan?\"", + "responses": [ { "text": "[Explain the plan]", "topic": "TALK_ISHERWOOD_LISA_JOIN_RESCUE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_LISA_JOIN_RESCUE", - "dynamic_line": "[heck yeah im in.]", + "dynamic_line": "&She listens intently as you explain. \"All right. I'll be ready at the tower when you need me.\"", "responses": [ { - "text": "[sweet see u there]", + "text": "Great. I'll see you there.", "effect": { "math": [ "isherwood_lisa_coming", "=", "1" ] }, "//": "This is temporary. Lisa should join Chris at the tower with an EOC spawn.", "topic": "TALK_DONE" From 468c877d143365af0b643aa3297a431b25aad986 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Mon, 13 May 2024 18:16:09 -0700 Subject: [PATCH 32/40] found some more dialogue I missed --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index fa1948a1b0604..17103835dbc2e 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -104,7 +104,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2" }, { - "text": "[i got cop gear to turn over]", + "text": "I've got some SWAT gear that should work for the assault.", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, @@ -122,7 +122,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[got all cop gear]", + "text": "I've got enough SWAT gear to set everyone up for the assault.", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, @@ -141,7 +141,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done" }, { - "text": "[LIE: someone took cop gear before I could. sorry]", + "text": "[LIE] I tried to get the SWAT gear, but it looks like someone looted it before I could get there.", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, @@ -160,7 +160,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail" }, { - "text": "[got da 20 bags]", + "text": "I've got enough bags to set up a defensive wall.", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" }, From 9461a46495ea0fc216633b0112f579c7db936123 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 16 May 2024 15:23:30 -0700 Subject: [PATCH 33/40] Chris dialogue TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_TRY_AGAIN is still not linked to anything. --- .../isherwood_farm/NPC_Chris_Isherwood.json | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 17103835dbc2e..e419919fbbd7e 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -250,7 +250,7 @@ "dynamic_line": "They made their way to this weird spire like structure, I've never seen anything like it, it glistened in the sun like something organic. I think they could be holding Barry there, I've seen them arrive and leave with other humans.", "responses": [ { - "text": "[NEW MISSION LINE] I might be able to help you get Barry back, but we've got to plan this out.", + "text": "[START MISSION] I might be able to help you get Barry back, but we've got to plan this out.", "condition": { "and": [ { "math": [ "isherwood_barry_rescued", "!=", "1" ] }, { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" } } ] }, @@ -475,7 +475,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" }, { - "text": "[lets build a wall.]", + "text": "I think we need some kind of secure fallback point for the family, maybe a defensive wall?", "condition": { "and": [ { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" } }, @@ -512,7 +512,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" }, { - "text": "[lets build a wall.]", + "text": "I think we need some kind of secure fallback point for the family, maybe a defensive wall?", "condition": { "and": [ { "not": { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" } }, @@ -543,34 +543,34 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over", - "dynamic_line": "[ok what u got?]", + "dynamic_line": "*smiles slightly. \"Awesome, getting our team kitted out better will go a long way to making this possible.\"", "responses": [ { - "text": "[bod armor]", + "text": "[5 RIOT ARMOR] I've got enough riot armor for everyone.", "condition": { "and": [ { "u_has_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "armor_riot" }, { "math": [ "isherwood_gear_retrival_armor_body_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[helmet]", + "text": "[5 RIOT HELMET] These crowd control helmets should help a lot.", "condition": { "and": [ { "u_has_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "helmet_riot" }, { "math": [ "isherwood_gear_retrival_helmet_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[arm armor]", + "text": "[5 RIOT ARMGUARD] I hope these armguards won't interfere with people's aim.", "condition": { "and": [ { "u_has_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[leg armor]", + "text": "[5 RIOT LEGGUARD] I've got these leg guards to keep people from getting hobbled.", "condition": { "and": [ { "u_has_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[got all cop gear]", + "text": "We have enough full sets of riot control armor to cover everyone, head to toe.", "condition": { "and": [ { "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, @@ -595,30 +595,33 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Done", - "dynamic_line": "[sweet now we beefed up.]", + "dynamic_line": "*nods intently, looking at the assembled pile of equipment. \"Like I said, I'll get this distributed to everyone who's coming. It's starting to feel more real, but less impossible. Thanks for doing this.\"", "responses": [ - { "text": "[woo hoo] Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, - { "text": "[woo hoo]", "topic": "TALK_DONE" } + { "text": "Before you get on to that, I wanted to talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'll let you get on that.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Fail", - "dynamic_line": "[aw shucks that's bad. now no sweet armor.]", + "dynamic_line": "*nods slowly. \"I understand. You tried. We could maybe… no, nevermind. Time is important here, we can't spend forever hoping to get everything in place if we want to get Uncle Barry back alive. Let's do it without the gear.\"", "responses": [ { "text": "Sorry. Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, - { "text": "[sorry]", "topic": "TALK_DONE" } + { "text": "I'm sorry. I'm going to go take care of a few more things.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall", - "dynamic_line": "[yeah bro that sounds sweet. I got a plan Dutch, get 20 canvas bags 4 me. I get traps and we lay a wall with da truck]", + "dynamic_line": "Good idea. A sandbag wall would be easy enough, we've had to do those a few times when we've had flooding and everyone knows the drill. Back then we just grabbed supplies from the hardware store, though. Maybe you'd be able to make a run for those? Something like 20 canvas bags would probably do it. We can fill them up in advance and toss them out of the truck to get a decent barricade.", "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, - { "text": "[nah bro let's not bother]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, { - "text": "[yeah bro i'll do it]", + "text": "I think this is going to take too long, honestly. Let's just stick with the truck.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" + }, + { + "text": "I know where to find those canvas bags, I'll go get them.", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_WALL_BAGS" }, "topic": "TALK_DONE" } @@ -627,16 +630,16 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Wall_Done", - "dynamic_line": "[sweet now we get something between us. Give me 1 day and we ready]", + "dynamic_line": "All right. I think that's everything we need. Let me get it out to the family and we'll have it all prepped by tomorrow.", "responses": [ - { "text": "[woo hoo] Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, - { "text": "[woo hoo]", "topic": "TALK_DONE" } + { "text": "Before I go, let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'll let you get on that, I've got my own preparations to take care of.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_CHRIS_TRY_AGAIN", - "dynamic_line": "[yeah let's go]", + "dynamic_line": "If you think we're ready, I think we can try another go. Even… even if it's too late for Uncle Barry, I think we've got to try to take that damn tower out of commission.", "responses": [ { "text": "All right. Let's kick some alien butt.", From c333255fe3ffe68cacbb61da04a142b676a39e78 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 16 May 2024 15:40:01 -0700 Subject: [PATCH 34/40] missed one --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index e419919fbbd7e..326ee93fd22e5 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -507,7 +507,7 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, { - "text": "Come to think of it, one farmer with a hunting rifle is going to be enough to keep our backs safe.", + "text": "I'm a bit worried about defenses. Do you folks have any armor or equipment to help keep yourselves safe?", "condition": { "math": [ "isherwood_gear_status", "<", "1" ] }, "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear" }, @@ -528,11 +528,11 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear", - "dynamic_line": "[yeah bro here's a drop go get the cop gear. there's 5 sets to bring back]", + "dynamic_line": "*looks thoughtful. \"Well, we can wear our usual wrangling gear, but you're right. It's no good against those claws.\" He sighs. \"I don't want to delay, but I don't want to lose another family member either. If we could get our hands on some riot gear, that might give us a better chance to fend off the monsters. Not too far away, our corrupt-as-hell local cops kept enough of that gear on hand to easily set our family up. As if they needed it in this place. Just used it to keep the boot on, y'know?\" He spits on the ground. \"I can show you where their stores were, it'd feel nice to put that stuff to good use. Of course, any riot gear would do, if you happen to have already looted some.\"", "responses": [ - { "text": "[nah bro let's not bother]", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { "text": "I think you're right, that would take too long. We'll have to count on offense being our best defense.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, { - "text": "[yeah bro i'll do it]", + "text": "Show me where, and I'll try to get some riot gear for you.", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, "topic": "TALK_DONE" }, @@ -691,7 +691,7 @@ { "id": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR", "type": "mission_definition", - "name": { "str": "Retrieve Riot Armor for the Isherwoods" }, + "name": { "str": "Retrieve 5 sets of riot armor for the Isherwoods" }, "goal": "MGOAL_NULL", "difficulty": 1, "value": 0, From ba314e492671e2c0ae7fbf6d7d0e9cc339528ffb Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 16 May 2024 15:53:50 -0700 Subject: [PATCH 35/40] Update NPC_Chris_Isherwood.json --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 326ee93fd22e5..f94ad8e8b0bb3 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -488,6 +488,15 @@ { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, + { + "type": "talk_topic", + "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel", + "dynamic_line": "*looks crestfallen for a moment, then straightens up. \"All right. Yeah, maybe better not to put them at risk I guess. So we're back to going in without them. Maybe that's better, I don't want to lose anyone else.\"", + "responses": [ + { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CHRIS_TOPICS" }, + { "text": "I'd better get going.", "topic": "TALK_DONE" } + ] + }, { "type": "talk_topic", "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN2", From ed763c3307d4b6da864fc9804f747f45694890f3 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Thu, 16 May 2024 20:20:02 -0400 Subject: [PATCH 36/40] Update NPC_Chris_Isherwood.json --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index f94ad8e8b0bb3..c67f85367ea27 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -567,13 +567,13 @@ "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[5 RIOT ARMGUARD] I hope these armguards won't interfere with people's aim.", + "text": "[5 RIOT ARM GUARD] I hope these armguards won't interfere with people's aim.", "condition": { "and": [ { "u_has_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "armor_riot_arm" }, { "math": [ "isherwood_gear_retrival_armor_arm_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" }, { - "text": "[5 RIOT LEGGUARD] I've got these leg guards to keep people from getting hobbled.", + "text": "[5 RIOT LEG GUARD] I've got these leg guards to keep people from getting hobbled.", "condition": { "and": [ { "u_has_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "<", "5" ] } ] }, "effect": [ { "u_consume_item": "armor_riot_leg" }, { "math": [ "isherwood_gear_retrival_armor_leg_count", "++" ] } ], "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear_Turn_Over" From 636f5b4407fcdbc5ab11b2b7810198dafb7ab159 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Thu, 16 May 2024 21:13:58 -0700 Subject: [PATCH 37/40] fix a few json errors still missing an item ID --- .../npc_eocs/isherwood_barry_rescue_eocs.json | 2 +- data/json/overmap/overmap_special/specials.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json index 91510d7ce76d1..6a053775fa1c9 100644 --- a/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json +++ b/data/json/effects_on_condition/npc_eocs/isherwood_barry_rescue_eocs.json @@ -270,7 +270,7 @@ "u_run_npc_eocs": [ { "id": "isherwood_mission_set_teleport_position_effect", - "effect": { "u_location_variable": { "global_val": "_teleport_pos" }, "unique_id": true } + "effect": { "u_location_variable": { "global_val": "_teleport_pos" } } } ], "unique_ids": [ "CHRIS_MISSION", "LISA_MISSION", "CARLOS_MISSION", "EDDIE_MISSION", "LUKE_MISSION", "JESSE_MISSION" ] diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index c592a0b2ae1b0..58a7efb40943c 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -5340,7 +5340,7 @@ { "point": [ 0, 0, 1 ], "overmap": "barry_mi-go_scout_tower_2_north" }, { "point": [ 0, 0, 2 ], "overmap": "barry_mi-go_scout_tower_3_north" }, { "point": [ 0, 0, 3 ], "overmap": "barry_mi-go_scout_tower_4_north" }, - { "point": [ 0, 1, 0 ], "overmap": "rural_road_north" } + { "point": [ 0, 1, 0 ], "overmap": "rural_road_ns" } ], "locations": [ "wilderness" ], "city_distance": [ 5, -1 ], From c453cdd0c6343258e51521d31b29ff07272ae40a Mon Sep 17 00:00:00 2001 From: MNG-cataclysm <58958654+MNG-cataclysm@users.noreply.github.com> Date: Fri, 17 May 2024 10:18:54 -0400 Subject: [PATCH 38/40] Update data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index c67f85367ea27..83190a465a832 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -539,7 +539,10 @@ "id": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Gear", "dynamic_line": "*looks thoughtful. \"Well, we can wear our usual wrangling gear, but you're right. It's no good against those claws.\" He sighs. \"I don't want to delay, but I don't want to lose another family member either. If we could get our hands on some riot gear, that might give us a better chance to fend off the monsters. Not too far away, our corrupt-as-hell local cops kept enough of that gear on hand to easily set our family up. As if they needed it in this place. Just used it to keep the boot on, y'know?\" He spits on the ground. \"I can show you where their stores were, it'd feel nice to put that stuff to good use. Of course, any riot gear would do, if you happen to have already looted some.\"", "responses": [ - { "text": "I think you're right, that would take too long. We'll have to count on offense being our best defense.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, + { + "text": "I think you're right, that would take too long. We'll have to count on offense being our best defense.", + "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" + }, { "text": "Show me where, and I'll try to get some riot gear for you.", "effect": { "assign_mission": "MISSION_ISHERWOOD_CHRIS_1_GET_GEAR" }, From 88534d6fb369e2e8b2e2930ac435e774dbd28fe7 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Fri, 17 May 2024 09:00:44 -0700 Subject: [PATCH 39/40] Update data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json --- data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 83190a465a832..70caf55cb8a62 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -512,7 +512,7 @@ "topic": "TALK_DONE" }, { - "text": "I've changed my mind. I think it's better we take my vehicle, and just leave them out of it.", + "text": "I've changed my mind. I think it's better we take my vehicle, and just leave them out of it.", "topic": "TALK_ISHERWOOD_CHRIS_RESCUE_BARRY_PLAN_Cancel" }, { From 361808a20b5aa87e42c5933b6e21481b1cdc59c5 Mon Sep 17 00:00:00 2001 From: MNG-cataclysm Date: Fri, 17 May 2024 15:58:22 -0400 Subject: [PATCH 40/40] Bugfixing 1 --- data/json/items/fake.json | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/data/json/items/fake.json b/data/json/items/fake.json index b770cc0d96476..62a00d675d021 100644 --- a/data/json/items/fake.json +++ b/data/json/items/fake.json @@ -413,5 +413,27 @@ "name": { "str": "concrete mixer" }, "copy-from": "fake_appliance_tool", "charges_per_use": 20 + }, + { + "id": "fake_dynamite_50lbs", + "//": "This is used exclusively in the rescue mission for Barry to blow a hole in the scout tower.", + "type": "TOOL", + "category": "weapons", + "name": { "str": "fake 50lbs dynamite car bomb" }, + "description": "Several sticks of explosives, bundled together with a fuse attached. Use this item to light the fuse. You will, of course, need a lighter or matches in your inventory to do this. Shortly after lighting the fuse, this item will explode, so get away!", + "weight": "22680 g", + "volume": "15020 ml", + "price": 6000, + "price_postapoc": 1000, + "to_hit": -3, + "material": [ { "type": "tnt", "portion": 95 }, { "type": "paper", "portion": 5 } ], + "symbol": "*", + "color": "red", + "explode_in_fire": true, + "explosion": { "power": 18779 }, + "countdown_action": { "type": "explosion", "explosion": { "power": 18779, "max_noise": 0 } }, + "countdown_interval": "1 seconds", + "flags": [ "BOMB" ], + "melee_damage": { "bash": 4 } } ]