diff --git a/data/json/construction.json b/data/json/construction.json index a6bc62668bbc1..d19827bd0e7f4 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -4752,6 +4752,24 @@ "activity_level": "EXTRA_EXERCISE", "do_turn_special": "do_turn_exhume" }, + { + "type": "construction", + "id": "constr_exhume_new", + "skill": "survival", + "group": "dig_a_shallow_pit", + "category": "CONSTRUCT", + "difficulty": 0, + "time": "17m", + "on_display": true, + "qualities": [ { "id": "DIG", "level": 2 } ], + "pre_terrain": "t_grave_new", + "post_terrain": "t_pit_shallow", + "byproducts": [ { "group": "digging_soil_loam_50L", "count": 5 } ], + "post_special": "done_dig_grave_nospawn", + "post_flags": [ "keep_items" ], + "activity_level": "EXTRA_EXERCISE", + "do_turn_special": "do_turn_exhume" + }, { "type": "construction", "id": "constr_arcfurnace", diff --git a/src/construction.cpp b/src/construction.cpp index f37f396359936..d7a6ae103fce7 100644 --- a/src/construction.cpp +++ b/src/construction.cpp @@ -158,6 +158,7 @@ void done_wiring( const tripoint &, Character & ); void done_deconstruct( const tripoint &, Character & ); void done_digormine_stair( const tripoint &, bool, Character & ); void done_dig_grave( const tripoint &p, Character & ); +void done_dig_grave_nospawn( const tripoint &p, Character & ); void done_dig_stair( const tripoint &, Character & ); void done_mine_downstair( const tripoint &, Character & ); void done_mine_upstair( const tripoint &, Character & ); @@ -1655,6 +1656,12 @@ void construct::done_dig_grave( const tripoint &p, Character &who ) get_event_bus().send( who.getID() ); } +void construct::done_dig_grave_nospawn( const tripoint &p, Character &who ) +{ + get_map().furn_set( p, f_coffin_c ); + get_event_bus().send( who.getID() ); +} + void construct::done_dig_stair( const tripoint &p, Character &who ) { done_digormine_stair( p, true, who ); @@ -1950,6 +1957,7 @@ void load_construction( const JsonObject &jo ) { "done_wiring", construct::done_wiring }, { "done_deconstruct", construct::done_deconstruct }, { "done_dig_grave", construct::done_dig_grave }, + { "done_dig_grave_nospawn", construct::done_dig_grave_nospawn }, { "done_dig_stair", construct::done_dig_stair }, { "done_mine_downstair", construct::done_mine_downstair }, { "done_mine_upstair", construct::done_mine_upstair },