Skip to content

Commit

Permalink
Add Luke Isherwood's truck bomb mission
Browse files Browse the repository at this point in the history
  • Loading branch information
MNG-cataclysm committed May 6, 2024
1 parent ec61510 commit 4db2baa
Show file tree
Hide file tree
Showing 4 changed files with 295 additions and 0 deletions.
6 changes: 6 additions & 0 deletions data/json/itemgroups/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -1065,5 +1065,11 @@
"//": "This group was created automatically and may contain errors.",
"container-item": "bottle_plastic_small",
"entries": [ { "item": "pur_tablets", "count": [ 75, 100 ] } ]
},
{
"type": "item_group",
"subtype": "collection",
"id": "dynamite_shipment",
"items": [ { "item": "dynamite", "count": [ 5, 9 ] } ]
}
]
22 changes: 22 additions & 0 deletions data/json/items/fake.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
}
]
153 changes: 153 additions & 0 deletions data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,50 @@
},
{
"text": "Chris and I have a little project for you that we've cooked up, if you're interested.",
"//": "This should require that you first suggest the idea to Chris during mission planning.",
"condition": {
"and": [
{ "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" },
{
"and": [
{ "not": { "u_has_mission": "MISSION_LUKE_RETRIEVE_TRUCK" } },
{ "math": [ "isherwood_luke_truck_status", "<", "1" ] }
]
}
]
},
"topic": "TALK_ISHERWOOD_LUKE_Truck_Bomb"
},
{
"text": "[okie we got truck now what]",
"condition": {
"and": [
{ "u_has_mission": "MISSION_ISHERWOOD_CHRIS_1" },
{
"and": [
{ "not": { "u_has_mission": "MISSION_LUKE_RETRIEVE_TRUCK_EXPLOSIVES" } },
{ "math": [ "isherwood_luke_truck_coming", "<", "1" ] },
{ "math": [ "isherwood_luke_truck_status", "==", "1" ] }
]
}
]
},
"topic": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan_Part_2"
},
{
"text": "[heres the dynamite]",
"condition": {
"and": [
{ "u_has_mission": "MISSION_LUKE_RETRIEVE_TRUCK_EXPLOSIVES" },
{ "u_has_items": { "item": "dynamite", "count": 20 } }
]
},
"effect": [
{ "u_sell_item": "dynamite", "count": 20 },
{ "finish_mission": "MISSION_LUKE_RETRIEVE_TRUCK_EXPLOSIVES", "success": true }
],
"topic": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan_Done"
},
{
"text": "How are those books doing for you?",
"topic": "TALK_ISHERWOOD_LUKE_BOOKS2",
Expand Down Expand Up @@ -340,6 +382,56 @@
{ "text": "I'd better get going.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_ISHERWOOD_LUKE_Truck_Bomb",
"dynamic_line": "[whats that?]",
"responses": [
{ "text": "[explain plan about truck bomb]", "topic": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Is_Crazy" },
{ "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_LUKE_TOPICS" },
{ "text": "I'd better get going.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Is_Crazy",
"dynamic_line": "[that sounds crazy are u sure its a good idea]",
"responses": [
{ "text": "[trust me bro i know what im doing]", "topic": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan" },
{ "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_LUKE_TOPICS" },
{ "text": "I'd better get going.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan",
"dynamic_line": "[okie dokie i got an idea 4 how we can do this. theres 2 bandits who got a shitmobile, good enough to blow up i need u to go kill em. i'll pick it up later]",
"responses": [
{ "text": "[heck yeah bro]", "effect": { "assign_mission": "MISSION_LUKE_RETRIEVE_TRUCK" }, "topic": "TALK_DONE" },
{ "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_LUKE_TOPICS" },
{ "text": "[nah bro]", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan_Part_2",
"dynamic_line": "[okie now we need explosives. i know mines have a lot of dynamite so that should be good. go get it and i'll rig that up to a kitchen timer and we'll have a bomb on wheels. i need 50lbs]",
"responses": [
{
"text": "[heck yeah bro]",
"effect": { "assign_mission": "MISSION_LUKE_RETRIEVE_TRUCK_EXPLOSIVES" },
"topic": "TALK_DONE"
},
{ "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_LUKE_TOPICS" },
{ "text": "[nah bro]", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_ISHERWOOD_LUKE_Truck_Bomb_Plan_Done",
"dynamic_line": "[sweet now I'll make the bomb thanks bro.]",
"responses": [ { "text": "[heck yeah]", "topic": "TALK_ISHERWOOD_LUKE_TOPICS" } ]
},
{
"id": "MISSION_ISHERWOOD_LUKE_1",
"type": "mission_definition",
Expand Down Expand Up @@ -391,5 +483,66 @@
"success_lie": "I don't see a book…?",
"failure": "At least you escaped with your life…"
}
},
{
"id": "MISSION_LUKE_RETRIEVE_TRUCK",
"type": "mission_definition",
"name": { "str": "Retrieve the Truck for Luke Isherwood" },
"description": "Kill the two bandits for Luke Isherwood to get their truck.",
"goal": "MGOAL_ASSASSINATE",
"difficulty": 5,
"value": 0,
"start": {
"assign_mission_target": { "om_terrain": "trailhead_shack_z0", "om_special": "trailhead_shack", "reveal_radius": 1, "search_range": 100 },
"update_mapgen": {
"place_npcs": [ { "class": "bandit", "x": 5, "y": 8, "target": true }, { "class": "bandit", "x": 5, "y": 9, "target": true } ],
"place_vehicles": [
{ "vehicle": "pickup", "chance": 100, "fuel": 100, "rotation": 0, "faction": "hells_raiders", "x": [ 5 ], "y": [ 8 ] }
]
}
},
"end": { "effect": [ { "queue_eocs": "EOC_LUKE_RETRIEVE_TRUCK_END", "time_in_future": 100 } ] },
"origins": [ "ORIGIN_SECONDARY" ],
"//": "Dialogue for this mission is handled externally.",
"dialogue": {
"describe": ".",
"offer": ".",
"accepted": ".",
"rejected": ".",
"advice": ".",
"inquire": ".",
"success": ".",
"success_lie": ".",
"failure": "."
}
},
{
"id": "MISSION_LUKE_RETRIEVE_TRUCK_EXPLOSIVES",
"type": "mission_definition",
"name": { "str": "Retrieve Some Dynamite for Luke" },
"description": "Get 50 pounds of dynamite for Luke Isherwood to make a bomb. There's a known shipment at a mine in the region.",
"goal": "MGOAL_NULL",
"difficulty": 5,
"value": 0,
"start": {
"assign_mission_target": { "om_terrain": "mine_entrance_loading_zone", "om_special": "Generic mine", "reveal_radius": 1, "search_range": 200 },
"update_mapgen": {
"place_vehicles": [ { "vehicle": "truck_trailer_explosives", "chance": 100, "rotation": 270, "x": [ 7 ], "y": [ 7 ] } ]
}
},
"end": { "effect": [ { "math": [ "isherwood_luke_truck_coming", "++" ] } ] },
"origins": [ "ORIGIN_SECONDARY" ],
"//2": "Dialogue for this mission is handled externally.",
"dialogue": {
"describe": ".",
"offer": ".",
"accepted": ".",
"rejected": ".",
"advice": ".",
"inquire": ".",
"success": ".",
"success_lie": ".",
"failure": "."
}
}
]
114 changes: 114 additions & 0 deletions data/json/vehicles/custom_vehicles.json
Original file line number Diff line number Diff line change
Expand Up @@ -149,5 +149,119 @@
{ "x": -2, "y": 0, "chance": 10, "items": [ "308", "308" ] },
{ "x": -2, "y": 0, "chance": 5, "items": [ "308", "308" ] }
]
},
{
"id": "truck_trailer_explosives",
"//": "This is for use in part 2 of Luke Isherwoods' truck explosive mission.",
"type": "vehicle",
"name": "Truck Trailer",
"blueprint": [
[ "--OO------" ],
[ "||OO||||||" ],
[ "+|++|=|++|" ],
[ "||OO||||||" ],
[ "--OO------" ]
],
"parts": [
{ "x": 0, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 0, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 0, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 0, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": 0, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": 1, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 1, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 1, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": 1, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 1, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": 2, "y": -1, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": 2, "y": -2, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": 2, "y": -3, "parts": [ "hdframe#vertical_T_left", "board#vertical_left", "roof" ] },
{ "x": 2, "y": 0, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": 2, "y": 1, "parts": [ "hdframe#vertical_T_right", "board#vertical_right", "roof" ] },
{ "x": 3, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 3, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 3, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": 3, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 3, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": 4, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 4, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 4, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": 4, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": 4, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": 5, "y": -1, "parts": [ "hdframe#horizontal_front", "board#horizontal_front" ] },
{ "x": 5, "y": -1, "parts": [ "roof" ] },
{ "x": 5, "y": -2, "parts": [ "hdframe#horizontal_front", "board#horizontal_front" ] },
{ "x": 5, "y": -2, "parts": [ "roof" ] },
{ "x": 5, "y": -3, "parts": [ "hdframe#nw", "board#nw", "roof" ] },
{ "x": 5, "y": 0, "parts": [ "hdframe#horizontal_front", "board#horizontal_front" ] },
{ "x": 5, "y": 0, "parts": [ "roof" ] },
{ "x": 5, "y": 1, "parts": [ "hdframe#ne", "board#ne", "roof" ] },
{ "x": -1, "y": -1, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": -1, "y": -2, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": -1, "y": -3, "parts": [ "hdframe#vertical_T_left", "board#vertical_left", "roof" ] },
{ "x": -1, "y": -3, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -1, "y": -2, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -1, "y": 0, "parts": [ "hdframe#horizontal", "cargo_space", "roof" ] },
{ "x": -1, "y": 0, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -1, "y": 1, "parts": [ "hdframe#vertical_T_right", "board#vertical_right", "roof" ] },
{ "x": -1, "y": 1, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -2, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -2, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -2, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": -2, "y": -2, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -2, "y": -3, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -2, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -2, "y": 0, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -2, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": -2, "y": 1, "parts": [ "wheel_mount_medium", "wheel_wide" ] },
{ "x": -3, "y": -1, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -3, "y": -2, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -3, "y": -3, "parts": [ "hdframe#vertical_left", "board#vertical_left", "roof" ] },
{ "x": -3, "y": 0, "parts": [ "hdframe#vertical", "cargo_space", "roof" ] },
{ "x": -3, "y": 1, "parts": [ "hdframe#vertical_right", "board#vertical_right", "roof" ] },
{ "x": -4, "y": -1, "parts": [ "hdframe#horizontal_rear", "door_shutter", "roof" ] },
{ "x": -4, "y": -2, "parts": [ "hdframe#horizontal_rear", "door_shutter", "roof" ] },
{ "x": -4, "y": -3, "parts": [ "hdframe#sw", "board#sw", "roof" ] },
{ "x": -4, "y": 0, "parts": [ "hdframe#horizontal_rear", "door_shutter", "roof" ] },
{ "x": -4, "y": 1, "parts": [ "hdframe#se", "board#se", "roof" ] }
],
"items": [
{ "x": 4, "y": -2, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": 4, "y": -2, "chance": 100, "item_groups": [ "dynamite_shipment" ] },
{ "x": 4, "y": -1, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 4, "y": -1, "chance": 100, "item_groups": [ "dynamite_shipment" ] },
{ "x": 4, "y": 0, "chance": 5, "items": [ "rope_30" ] },
{ "x": 4, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 3, "y": -2, "chance": 4, "items": [ "bubblewrap" ] },
{ "x": 3, "y": -1, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 2, "y": -2, "chance": 100, "item_groups": [ "dynamite_shipment" ] },
{ "x": 3, "y": 0, "chance": 2, "items": [ "rope_30" ] },
{ "x": 3, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 2, "y": -2, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": 2, "y": -2, "chance": 100, "item_groups": [ "dynamite_shipment" ] },
{ "x": 2, "y": -1, "chance": 1, "items": [ "bubblewrap" ] },
{ "x": 2, "y": 0, "chance": 4, "items": [ "bubblewrap" ] },
{ "x": 2, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 1, "y": -2, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": 1, "y": -1, "chance": 5, "items": [ "bubblewrap" ] },
{ "x": 1, "y": 0, "chance": 3, "items": [ "rope_30" ] },
{ "x": 1, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 0, "y": -2, "chance": 1, "items": [ "bubblewrap" ] },
{ "x": 0, "y": -1, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 0, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": 0, "y": 0, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": -1, "y": -2, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": -1, "y": -1, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": -1, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": -1, "y": 0, "chance": 1, "items": [ "bubblewrap" ] },
{ "x": -2, "y": -2, "chance": 3, "items": [ "rope_6" ] },
{ "x": -2, "y": -1, "chance": 1, "items": [ "bubblewrap" ] },
{ "x": -2, "y": 0, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": -2, "y": 0, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": -3, "y": -2, "chance": 1, "items": [ "bubblewrap" ] },
{ "x": -3, "y": -1, "chance": 3, "items": [ "bubblewrap" ] },
{ "x": -3, "y": 0, "chance": 2, "items": [ "bubblewrap" ] },
{ "x": -3, "y": 0, "chance": 5, "items": [ "bubblewrap" ] }
]
}
]

0 comments on commit 4db2baa

Please sign in to comment.