Skip to content

Commit

Permalink
Weaponize nether corpse teeth (#71880)
Browse files Browse the repository at this point in the history
* Weaponize nether corpse teeth, part 1

* Weaponize nether corpse teeth, part 2

* Weaponize nether corpse teeth, part 3

* Update data/json/deconstruction.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update data/json/recipes/weapon/bashing.json

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Lint deconstruction.json

* Lint traps.json

* Lint recipe_traps.json

* Lint bashing.json

* Lint terrain_nether_monster.json

* Lint misc.json

* Adjust teeth density

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
SariusSkelrets and github-actions[bot] authored Feb 23, 2024
1 parent 6f0900d commit 990012b
Show file tree
Hide file tree
Showing 9 changed files with 153 additions and 3 deletions.
19 changes: 19 additions & 0 deletions data/json/deconstruction.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@
{ "item": "hinge", "count": [ 0, 1 ] }
]
},
{
"type": "item_group",
"id": "teeth_deconstruction_result",
"subtype": "collection",
"entries": [ { "item": "nm_teeth", "count": [ 30, 50 ] } ]
},
{
"type": "construction",
"id": "constr_remove_window_empty",
Expand Down Expand Up @@ -1041,5 +1047,18 @@
"byproducts": [ { "item": "brick", "count": [ 25, 30 ] } ],
"pre_terrain": "f_fireplace",
"post_terrain": "f_null"
},
{
"type": "construction",
"id": "constr_extract_teeth",
"group": "remove_wall",
"//": "Extract some impossibly-sharp teeth for later use.",
"category": "CONSTRUCT",
"required_skills": [ [ "survival", 4 ] ],
"time": "90 m",
"using": [ [ "nm_teeth_removal", 1 ] ],
"byproducts": "teeth_deconstruction_result",
"pre_terrain": "t_nm_wall_teeth",
"post_terrain": "t_nm_wall_flesh"
}
]
5 changes: 2 additions & 3 deletions data/json/furniture_and_terrain/terrain_nether_monster.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
"type": "terrain",
"id": "t_nm_wall_teeth",
"name": "monster teeth",
"//": "TODO: use construction menu to extract extremely sharp tooth for use in crafting later",
"//2": "TODO2: perhaps make player unable to bash these",
"description": "A fractal array of uncountable, bristling teeth that seem impossibly sharp, even at a conceptual level. An iridescent haze surrounds it, as if light itself cannot help but be separated in their presence. With proper protective equipment, you surmise you could extract some for your own use.",
"//": "TODO: perhaps make player unable to bash these",
"description": "A fractal array of uncountable, bristling teeth that seem impossibly sharp, even at a conceptual level. An iridescent haze surrounds it, as if light itself cannot help but be separated in their presence. You surmise you could extract some for your own use, if you had an appropriate tool to remove them from the wall they're imbedded in.",
"symbol": "^",
"color": "white",
"move_cost": 0,
Expand Down
19 changes: 19 additions & 0 deletions data/json/items/melee/bludgeons.json
Original file line number Diff line number Diff line change
Expand Up @@ -878,6 +878,25 @@
"to_hit": { "grip": "solid", "length": "long", "surface": "line", "balance": "uneven" },
"melee_damage": { "bash": 16, "cut": 10 }
},
{
"type": "GENERIC",
"id": "teeth_macuahuitl",
"name": { "str": "teeth-bladed macuahuitl" },
"description": "A flat wooden club with impossibly-sharp teeth stuck to both sides. Fragile yet very sharp.",
"weight": "2000 g",
"volume": "3800 ml",
"price": 1000,
"price_postapoc": 250,
"color": "brown",
"symbol": "/",
"material": [ "wood", "bone" ],
"longest_side": "100 cm",
"flags": [ "NONCONDUCTIVE", "FRAGILE_MELEE" ],
"weapon_category": [ "GREAT_HAMMERS" ],
"techniques": [ "WBLOCK_1", "WIDE" ],
"to_hit": { "grip": "solid", "length": "long", "surface": "line", "balance": "uneven" },
"melee_damage": { "bash": 16, "cut": 30 }
},
{
"type": "GENERIC",
"id": "aztec_sword_stone",
Expand Down
23 changes: 23 additions & 0 deletions data/json/items/tool/misc.json
Original file line number Diff line number Diff line change
Expand Up @@ -1031,5 +1031,28 @@
"flags": [ "REACH_ATTACK" ],
"to_hit": { "grip": "solid", "length": "long", "surface": "point", "balance": "neutral" },
"melee_damage": { "cut": 1 }
},
{
"type": "TOOL",
"id": "nm_teeth",
"symbol": ",",
"color": "light_cyan",
"name": { "str_sp": "monster teeth" },
"category": "other",
"description": "Impossibly-sharp teeth extracted from a giant corpse. You could use them as a weapon, but you might want to wear gloves.",
"material": [ "bone" ],
"weight": "42 g",
"volume": "30 ml",
"use_action": {
"type": "place_trap",
"trap": "tr_teeth",
"moves": 150,
"practice": 2,
"done_message": "You carefully place the teeth on the ground, ready to be walked on by something passing by."
},
"flags": [ "HURT_WHEN_WIELDED", "TRADER_AVOID", "SINGLE_USE", "FRAGILE_MELEE", "ALLOWS_BODY_BLOCK" ],
"to_hit": -1,
"melee_damage": { "cut": 12 },
"weapon_category": [ "SHIVS" ]
}
]
24 changes: 24 additions & 0 deletions data/json/items/tool/traps.json
Original file line number Diff line number Diff line change
Expand Up @@ -291,5 +291,29 @@
"done_message": "You string up the tripwire."
},
"flags": [ "SINGLE_USE" ]
},
{
"id": "caltrops_teeth",
"type": "TOOL",
"name": { "str_sp": "loose teeth caltrops" },
"category": "traps",
"description": "A handful of small impossibly-sharp teeth glued together. If an unsuspecting victim steps on one, they'll get a tooth through the foot.",
"weight": "264 g",
"volume": "500 ml",
"price": 100,
"price_postapoc": 50,
"to_hit": -4,
"material": [ "bone" ],
"symbol": ";",
"color": "dark_gray",
"use_action": {
"type": "place_trap",
"trap": "tr_caltrops_teeth",
"moves": 150,
"practice": 2,
"done_message": "You scatter the teeth caltrops on the %s."
},
"flags": [ "SINGLE_USE" ],
"melee_damage": { "cut": 12 }
}
]
13 changes: 13 additions & 0 deletions data/json/recipes/recipe_traps.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,19 @@
"qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 }, { "id": "VISE", "level": 1 } ],
"components": [ [ [ "wire_barbed", 10 ], [ "wire", 10 ], [ "nails", 10, "LIST" ] ] ]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"result": "caltrops_teeth",
"category": "CC_OTHER",
"subcategory": "CSC_OTHER_TRAPS",
"skill_used": "fabrication",
"skills_required": [ "traps", 1 ],
"difficulty": 1,
"time": "5 m",
"autolearn": true,
"components": [ [ [ "nm_teeth", 4 ] ], [ [ "superglue", 1 ], [ "bone_glue", 1 ] ] ]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
Expand Down
15 changes: 15 additions & 0 deletions data/json/recipes/weapon/bashing.json
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,21 @@
"using": [ [ "adhesive", 5 ] ],
"components": [ [ [ "glass_shard", 40 ], [ "ceramic_shard", 40 ] ], [ [ "2x4", 1 ] ] ]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
"result": "teeth_macuahuitl",
"category": "CC_WEAPON",
"subcategory": "CSC_WEAPON_CUTTING",
"skill_used": "fabrication",
"difficulty": 1,
"time": "10 m",
"reversible": true,
"autolearn": true,
"qualities": [ { "id": "CUT", "level": 1 } ],
"using": [ [ "adhesive", 5 ] ],
"components": [ [ [ "nm_teeth", 40 ] ], [ [ "2x4", 1 ] ] ]
},
{
"type": "recipe",
"activity_level": "LIGHT_EXERCISE",
Expand Down
8 changes: 8 additions & 0 deletions data/json/requirements/toolsets.json
Original file line number Diff line number Diff line change
Expand Up @@ -500,5 +500,13 @@
"id": "metal_file_any",
"type": "requirement",
"tools": [ [ [ "metal_file", -1 ], [ "bronze_file", -1 ] ] ]
},
{
"id": "nm_teeth_removal",
"type": "requirement",
"//": "Something able to do fine cuts, allowing to extract small teeth without damaging them",
"//2": "The comment called for adequate protection. When a way to check for that without writing down and keeping updated a list of anything that can protect the arms in the requirements, add arm protection requirement",
"//3": "Can instead add arm damage risk, mitigated by skill and reduced by armor, when such a thing becomes possible",
"qualities": [ { "id": "CUT_FINE", "level": 2 } ]
}
]
30 changes: 30 additions & 0 deletions data/json/traps.json
Original file line number Diff line number Diff line change
Expand Up @@ -1179,5 +1179,35 @@
"difficulty": 0,
"action": "sound_detect",
"sound_threshold": [ 15, 25 ]
},
{
"type": "trap",
"id": "tr_teeth",
"name": "scattered monster teeth",
"color": "light_cyan",
"memorial_male": { "ctxt": "memorial_male", "str": "Stepped on teeth." },
"memorial_female": { "ctxt": "memorial_female", "str": "Stepped on teeth." },
"symbol": "_",
"visibility": 6,
"avoidance": 8,
"difficulty": 0,
"action": "glass",
"drops": [ "nm_teeth" ],
"vehicle_data": { "sound_volume": 10, "sound": "Crunch!" }
},
{
"type": "trap",
"id": "tr_caltrops_teeth",
"name": "monster teeth caltrops",
"color": "dark_gray",
"memorial_male": { "ctxt": "memorial_male", "str": "Stepped on a tooth caltrop." },
"memorial_female": { "ctxt": "memorial_female", "str": "Stepped on a tooth caltrop." },
"symbol": "_",
"visibility": 6,
"avoidance": 6,
"difficulty": 0,
"action": "caltrops_glass",
"drops": [ "caltrops_teeth" ],
"vehicle_data": { "damage": 600 }
}
]

0 comments on commit 990012b

Please sign in to comment.