Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds a reward for finishing Dino Dave's quest chain #71983

Merged
merged 20 commits into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 140 additions & 0 deletions data/json/items/armor/cardboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
[
{
"id": "helmet_cardboard",
"type": "ARMOR",
"category": "armor",
"looks_like": "helmet_larmor",
"name": { "str": "cardboard 'great' helm" },
"description": "A cardboard helmet shaped to look like a medieval great helm. Very unencumbering in comparison to actual helmets, with rather obvious drawbacks in exchange. The interior is lined with aluminum, apparently to 'divert the zombie beta rays'. It sure doesn't help with comfort.",
"weight": "1250 g",
"volume": "2750 ml",
"price": 40000,
"price_postapoc": 5000,
"material": [ "cardboard", "aluminum" ],
"symbol": "[",
"color": "brown_yellow",
"armor": [
{ "covers": [ "head" ], "coverage": 100, "encumbrance_modifiers": [ "RESTRICTS_NECK", "WELL_SUPPORTED" ] },
{ "covers": [ "mouth" ], "rigid_layer_only": true, "coverage": 100, "encumbrance": 15 },
{ "covers": [ "eyes" ], "rigid_layer_only": true, "coverage": 95, "encumbrance": 15 }
],
"warmth": 15,
"material_thickness": 5,
"environmental_protection": 1,
"techniques": [ "WBLOCK_1" ],
"flags": [ "WATER_DISSOLVE", "VARSIZE", "HARD", "PSYSHIELD_PARTIAL", "FRAGILE" ],
"melee_damage": { "bash": 0 }
},
{
"id": "armor_cardboard",
"type": "ARMOR",
"category": "armor",
"looks_like": "armor_larmor",
"name": { "str": "cardboard 'plate' armor" },
"description": "A set of cardboard armor that's been duct taped and superglued into place, with paper padding the interior in an unsuccessful attempt to increase comfort. Despite the triple-layering, tensile and shear strength diagrams, and careful design considerations, there's just no way this is going to hold up to a single attack.",
"weight": "3450 g",
"volume": "17500 ml",
"price": 0,
"price_postapoc": 0,
"to_hit": -5,
"material": [ "cardboard", "paper" ],
"symbol": "[",
"color": "brown_yellow",
"warmth": 15,
"longest_side": "120 cm",
"material_thickness": 2,
"flags": [ "WATER_DISSOLVE", "OUTER", "BLOCK_WHILE_WORN", "HARD", "FRAGILE" ],
"armor": [
{
"material": [
{ "type": "cardboard", "covered_by_mat": 95, "thickness": 2.5 },
{ "type": "paper", "covered_by_mat": 100, "thickness": 0.3 }
],
"covers": [ "torso" ],
"coverage": 100,
"encumbrance": 18
},
{
"material": [
{ "type": "cardboard", "covered_by_mat": 95, "thickness": 2.5 },
{ "type": "paper", "covered_by_mat": 100, "thickness": 0.3 }
],
"covers": [ "arm_l", "arm_r" ],
"coverage": 100,
"encumbrance": 21
},
{
"material": [
{ "type": "cardboard", "covered_by_mat": 95, "thickness": 2.5 },
{ "type": "paper", "covered_by_mat": 100, "thickness": 0.3 }
],
"covers": [ "leg_l", "leg_r" ],
"coverage": 100,
"encumbrance": 23
}
],
"melee_damage": { "bash": 0 }
},
{
"id": "armor_cardboard_cuirass",
"type": "ARMOR",
"looks_like": "hoodie_brown",
"name": { "str": "cardboard cuirass", "str_pl": "cardboard cuirasses" },
"category": "armor",
"description": "While this isn't quite the 'heavy ballistic vest' the blueprints pretend it is, the layering makes it almost passable as a form of extremely rudimentary armor. It's still nowhere near as good as basically any other choice, while still being hard to move around in.",
"weight": "2105 g",
"volume": "6 L",
"price": 0,
"price_postapoc": 0,
"to_hit": -5,
"material": [ "cardboard", "paper" ],
"symbol": "[",
"color": "brown_yellow",
"longest_side": "60 cm",
"warmth": 15,
"material_thickness": 6,
"flags": [ "WATER_DISSOLVE", "FRAGILE_MELEE", "VARSIZE", "OUTER", "HARD" ],
"armor": [ { "encumbrance": 12, "coverage": 90, "covers": [ "torso" ] } ],
"melee_damage": { "bash": 0 }
},
{
"id": "cardboard_crown",
"type": "ARMOR",
"name": { "str": "cardboard crown" },
"description": "A piece of cardboard crudely bent into shape and cut to look like a crown.",
"weight": "200 g",
"volume": "100 ml",
"price": 0,
"price_postapoc": 0,
"material": [ "cardboard" ],
"looks_like": "crown_golden",
"symbol": "[",
"color": "brown_yellow",
"material_thickness": 1,
"flags": [ "WATER_DISSOLVE", "FRAGILE_MELEE", "NO_WEAR_EFFECT", "FRAGILE", "SOFT" ],
"armor": [ { "encumbrance": 1, "coverage": 20, "covers": [ "head" ], "specifically_covers": [ "head_crown" ] } ],
"use_action": {
"type": "transform",
"menu_text": "Loosen",
"target": "cardboard_crown_loose",
"msg": "You loosen your cardboard crown."
}
},
{
"id": "cardboard_crown_loose",
"type": "ARMOR",
"name": { "str": "cardboard crown (loosened)", "str_pl": "cardboard crowns (loosened)" },
"description": "A piece of cardboard crudely bent into shape and cut to look like a crown. This one's been loosened up somewhat, allowing it to be worn over some headgear comfortably.",
"copy-from": "cardboard_crown",
"flags": [ "WATER_DISSOLVE", "FRAGILE_MELEE", "NO_WEAR_EFFECT", "FRAGILE", "OUTER", "POWERARMOR_COMPATIBLE", "SOFT" ],
"use_action": { "type": "transform", "menu_text": "Adjust", "target": "cardboard_crown", "msg": "You adjust your cardboard crown." }
},
{
"id": "badge_cardboard",
"copy-from": "badge_abstract",
"type": "ARMOR",
"name": { "str": "cardboard badge" },
"description": "An honorable badge identifying the owner as a \"Knight Errant\" of \"House Da\". The large letters slowly dwindle in size as the badge runs out of space, leaving out the last two letters of Dino Dave's name.",
"flags": [ "WATER_DISSOLVE", "FRAGILE_MELEE", "NO_WEAR_EFFECT", "FRAGILE" ]
}
]
21 changes: 21 additions & 0 deletions data/json/items/book/fabrication.json
Original file line number Diff line number Diff line change
Expand Up @@ -743,5 +743,26 @@
"intelligence": 8,
"time": "25 m",
"melee_damage": { "bash": 4 }
},
{
"id": "recipe_dave_manual",
"type": "BOOK",
"category": "manuals",
"name": { "str": "Dino Dave's cardboard notebook", "str_pl": "copies of Dino Dave's cardboard notebook" },
"description": "This school notebook contains an astounding amount of \"recipes\" of various cardboard utilities, ranging from the wholly impractical to completely impossible. Despite that, they're illustrated in a surprisingly thorough manner, to the point where you could possibly learn something from studying the chicken scratch and schematics in detail. The last page thanks a number of names, some of which you recognize from the refugee center. Your name covers half the page. At the bottom, it warns you not to let \"the sandman\" read it.",
"weight": "600 g",
"volume": "500 ml",
"price": 0,
"price_postapoc": 0,
"material": [ "paper" ],
"symbol": "?",
"looks_like": "mag_glam",
"color": "brown_yellow",
"skill": "fabrication",
"required_level": 2,
"max_level": 3,
"intelligence": 14,
"time": "20 m",
"fun": -1
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
{ "item": "boxer_shorts" },
{ "item": "socks_wool" },
{ "item": "dinosuit" },
{ "item": "cardboard_crown_loose" },
{ "item": "boots_winter" },
{ "item": "coat_winter" }
]
Expand Down
73 changes: 71 additions & 2 deletions data/json/npcs/refugee_center/surface_refugees/NPC_Dino_Dave.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,34 @@
{
"type": "talk_topic",
"id": "TALK_DINODAVE_1",
"dynamic_line": "*sits in a surprisingly well-built room made of lovingly assembled cardboard boxes. The area is quite clean and cozy. The whole building is built on top of cargo pallets, insulated with scraps, and waterproofed with plastic. It shows an unexpected amount of design prowess. \"Hello, my noble knight errant,\" Dave intones, his voice solemn. \"We owe you a great debt for your actions of the past. Some day, we shall repay it. Until then, you are welcome here, now and always.\"",
"dynamic_line": {
"concatenate": [
"*sits in a surprisingly well-built room made of lovingly assembled cardboard boxes. The area is quite clean and cozy. The whole building is built on top of cargo pallets, insulated with scraps, and waterproofed with plastic. It shows an unexpected amount of design prowess. \"Hello, my noble knight errant,\" Dave intones, his voice solemn.",
{
"u_has_var": "u_cardboard_gift",
"type": "dialogue",
"context": "dave",
"value": "finished",
"yes": "\"We hope our gift to you will help repay our great debt.\"",
"no": "\"We owe you a great debt for your actions of the past. Some day, we shall repay it. Until then, you are welcome here, now and always.\""
}
]
},
"responses": [
{ "text": "Hi Dave. You seem different.", "topic": "TALK_DINODAVE_Different" },
{ "text": "How are things going up here on the roof?", "topic": "TALK_DINODAVE_Roof" },
{ "text": "Always good to catch up, Dave. Keep on being you.", "topic": "TALK_DONE" }
{ "text": "Always good to catch up, Dave. Keep on being you.", "topic": "TALK_DONE" },
{
"text": "You said something about a gift?",
"topic": "TALK_DINODAVE_Gift_Given",
"effect": [ { "u_add_var": "u_cardboard_gift", "type": "dialogue", "context": "dave", "value": "finished" } ],
"condition": {
"and": [
{ "u_has_var": "u_cardboard_gift", "type": "dialogue", "context": "dave", "value": "in_progress" },
{ "math": [ "time_since(u_timer_dave_creating_gift)", ">", "time('1 d')" ] }
]
}
}
]
},
{
Expand Down Expand Up @@ -50,7 +73,53 @@
"dynamic_line": "*gestures about his new home. \"We have everything we wanted. They cannot see us here, and our mind is at peace. We go outside as we need, and the safety we have received here stays with us, as long as we are careful about it. In time, perhaps we will again have need of your noble services.\"",
"responses": [
{ "text": "You seem different.", "topic": "TALK_DINODAVE_Different" },
{
"text": "You know, this place is surprisingly nice, for a cardboard fortress.",
"topic": "TALK_DINODAVE_Cardboard",
"effect": [
{ "u_add_var": "u_cardboard_gift", "type": "dialogue", "context": "dave", "value": "in_progress" },
{ "math": [ "u_timer_dave_creating_gift", "=", "time('now')" ] }
],
"condition": {
"and": [
{ "not": { "u_has_var": "u_cardboard_gift", "type": "dialogue", "context": "dave", "value": "finished" } },
{
"not": { "u_has_var": "u_cardboard_gift", "type": "dialogue", "context": "dave", "value": "in_progress" }
}
]
}
},
{ "text": "Always good to catch up, Dave. Keep on being you.", "topic": "TALK_DONE" }
]
},
{
"type": "talk_topic",
"id": "TALK_DINODAVE_Cardboard",
"dynamic_line": "*bows deeply. \"Thank you. Our expertise with the most sacred of materials comes from a past long gone.\" He gazes off into the distance, lost in thought. You wait, but he doesn't talk again.",
"responses": [ { "text": "Uh, you there?", "topic": "TALK_DINODAVE_Gift" } ]
},
{
"type": "talk_topic",
"id": "TALK_DINODAVE_Gift",
"dynamic_line": "\"You've given us an idea, a way we could repay a small fraction of your aid. Come back in a day, and your blessing will be here for you.\"",
"responses": [ { "text": "See you in a day, then.", "topic": "TALK_DINODAVE_Gift_Bye" } ]
},
{
"type": "talk_topic",
"id": "TALK_DINODAVE_Gift_Bye",
"dynamic_line": "\"Make sure you don't let the sandman in. He can't be trusted.\"",
"responses": [ { "text": "Always good to catch up, Dave. Keep on being you.", "topic": "TALK_DONE" } ]
},
{
"type": "talk_topic",
"id": "TALK_DINODAVE_Gift_Given",
"dynamic_line": "\"Indeed, my knight. I was hesitant to grant you this power, but you have proven your worth and fealty many times over. Make sure it does not fall into the wrong hands. May it help you on your journey.\"",
"responses": [
{
"text": "[Take the gift.]",
"topic": "TALK_DINODAVE_Gift_Bye",
"effect": [ { "u_spawn_item": "recipe_dave_manual" }, { "u_spawn_item": "badge_cardboard" } ]
}
]
}
]
63 changes: 63 additions & 0 deletions data/json/recipes/armor/cardboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
[
{
"result": "helmet_cardboard",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_ARMOR",
"subcategory": "CSC_ARMOR_HEAD",
"skill_used": "fabrication",
"difficulty": 2,
"skills_required": [ "fabrication", 1 ],
"time": "1 h",
"autolearn": false,
"book_learn": [ [ "recipe_dave_manual", 1 ] ],
"using": [ [ "adhesive", 2 ] ],
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "cardboard", 300 ] ], [ [ "aluminum_foil", 5 ] ] ]
},
{
"result": "armor_cardboard",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_ARMOR",
"subcategory": "CSC_ARMOR_SUIT",
"skill_used": "fabrication",
"difficulty": 3,
"skills_required": [ "fabrication", 2 ],
"time": "150 m",
"autolearn": false,
"book_learn": [ [ "recipe_dave_manual", 1 ] ],
"using": [ [ "adhesive", 15 ] ],
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "cardboard", 2000 ] ], [ [ "paper", 60 ] ] ]
},
{
"result": "armor_cardboard_cuirass",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_ARMOR",
"subcategory": "CSC_ARMOR_HEAD",
"skill_used": "fabrication",
"difficulty": 2,
"skills_required": [ "fabrication", 1 ],
"time": "150 m",
"autolearn": false,
"book_learn": [ [ "recipe_dave_manual", 1 ] ],
"using": [ [ "adhesive", 10 ] ],
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "cardboard", 1200 ] ], [ [ "paper", 20 ] ] ]
},
{
"result": "cardboard_crown",
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_ARMOR",
"subcategory": "CSC_ARMOR_HEAD",
"skill_used": "fabrication",
"time": "5 m",
"autolearn": false,
"book_learn": [ [ "recipe_dave_manual", 0 ] ],
"qualities": [ { "id": "CUT", "level": 1 } ],
"components": [ [ [ "cardboard", 100 ] ] ]
}
]
12 changes: 12 additions & 0 deletions data/json/recipes/nested.json
Original file line number Diff line number Diff line change
Expand Up @@ -7100,6 +7100,18 @@
],
"difficulty": 5
},
{
"id": "nested_cardboard_armor",
"type": "nested_category",
"activity_level": "LIGHT_EXERCISE",
"category": "CC_ARMOR",
"subcategory": "CSC_ARMOR_SUIT",
"name": "cardboard armor",
"description": "Recipes related to the construction of cardboard 'armor'.",
"skill_used": "fabrication",
"nested_category_data": [ "helmet_cardboard", "armor_cardboard", "armor_cardboard_cuirass", "cardboard_shield", "cardboard_crown" ],
"difficulty": 1
},
{
"id": "nested_bullet_necklaces",
"type": "nested_category",
Expand Down
Loading