diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 8e5c9f1b0e29b..3dd040223a43b 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -2311,6 +2311,10 @@ void activity_handlers::oxytorch_finish( player_activity *act, player *p ) here.ter_set( pos, t_mdoor_frame ); here.spawn_item( pos, itype_steel_plate, rng( 0, 1 ) ); here.spawn_item( pos, itype_steel_chunk, rng( 3, 8 ) ); + } else if( ter == t_wall_metal ) { + here.ter_set( pos, t_scrap_wall_halfway ); + here.spawn_item( pos, itype_steel_plate, rng( 2, 3 ) ); + here.spawn_item( pos, itype_steel_chunk, rng( 12, 20 ) ); } else if( ter == t_window_enhanced || ter == t_window_enhanced_noglass ) { here.ter_set( pos, t_window_empty ); here.spawn_item( pos, itype_steel_plate, rng( 0, 1 ) ); diff --git a/src/iuse.cpp b/src/iuse.cpp index 1179ffcb71ac8..de8ddc97e1bea 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -5020,7 +5020,8 @@ cata::optional iuse::oxytorch( player *p, item *it, bool, const tripoint & t_metal_grate_window_with_curtain_open, t_metal_grate_window_noglass, t_metal_grate_window_with_curtain_noglass, - t_metal_grate_window_with_curtain_open_noglass + t_metal_grate_window_with_curtain_open_noglass, + t_wall_metal }; const std::set allowed_furn_id { f_rack, @@ -5075,8 +5076,9 @@ cata::optional iuse::oxytorch( player *p, item *it, bool, const tripoint & ter == t_metal_grate_window_with_curtain_open_noglass ) { turns = to_turns( 10_seconds ); } else if( ter == t_door_metal_locked || ter == t_door_metal_c || ter == t_door_bar_c || - ter == t_door_bar_locked || ter == t_door_metal_pickable || furn == f_safe_l || - furn == f_gunsafe_ml || furn == f_gunsafe_mj || furn == f_gun_safe_el ) { + ter == t_door_bar_locked || ter == t_door_metal_pickable || ter == t_wall_metal || + furn == f_safe_l || furn == f_gunsafe_ml || furn == f_gunsafe_mj || + furn == f_gun_safe_el ) { turns = to_turns( 15_seconds ); } else { return cata::nullopt; diff --git a/src/mapdata.cpp b/src/mapdata.cpp index c6d2a9e309b56..af24cfd4a2901 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -551,6 +551,8 @@ ter_id t_null, t_wall_half, t_wall_wood, t_wall_wood_chipped, t_wall_wood_broken, t_wall, t_concrete_wall, t_brick_wall, t_wall_metal, + t_scrap_wall, + t_scrap_wall_halfway, t_wall_glass, t_wall_glass_alarm, t_reinforced_glass, t_reinforced_glass_shutter, t_reinforced_glass_shutter_open, @@ -707,6 +709,8 @@ void set_ter_ids() t_concrete_wall = ter_id( "t_concrete_wall" ); t_brick_wall = ter_id( "t_brick_wall" ); t_wall_metal = ter_id( "t_wall_metal" ); + t_scrap_wall = ter_id( "t_scrap_wall" ); + t_scrap_wall_halfway = ter_id( "t_scrap_wall_halfway" ); t_wall_glass = ter_id( "t_wall_glass" ); t_wall_glass_alarm = ter_id( "t_wall_glass_alarm" ); t_reinforced_glass = ter_id( "t_reinforced_glass" ); diff --git a/src/mapdata.h b/src/mapdata.h index 6a6fa91cd44d4..0869170cb0da7 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -466,6 +466,8 @@ extern ter_id t_null, t_wall_half, t_wall_wood, t_wall_wood_chipped, t_wall_wood_broken, t_wall, t_concrete_wall, t_brick_wall, t_wall_metal, + t_scrap_wall, + t_scrap_wall_halfway, t_wall_glass, t_wall_glass_alarm, t_reinforced_glass, t_reinforced_glass_shutter, t_reinforced_glass_shutter_open,