Skip to content

Commit a228f4c

Browse files
authored
Merge pull request #82693 from mqrause/turret_req_fix
Fix turret install requirements
1 parent 15cf7b5 commit a228f4c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/veh_type.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,16 @@ void vehicles::parts::finalize()
588588
new_part.folded_volume = item->volume;
589589
}
590590

591+
// override install requirements
592+
std::vector<std::vector<tool_comp>> tools;
593+
std::vector<std::vector<quality_requirement>> qualities;
594+
std::vector<std::vector<item_comp>> components = { { { new_part.base_item, 1 } } };
595+
requirement_data ins( tools, qualities, components );
596+
597+
const requirement_id ins_id( std::string( "inline_vehins_base_" ) + new_part.id.str() );
598+
requirement_data::save_requirement( ins, ins_id );
599+
new_part.set_install_requirements( { {ins_id, 1} } );
600+
591601
// cap all skills at 8
592602
primary_req = std::min( 8, primary_req );
593603
mechanics_req = std::min( 8, mechanics_req );
@@ -1071,6 +1081,11 @@ requirement_data vpart_info::install_requirements() const
10711081
return requirement_data( install_reqs );
10721082
}
10731083

1084+
void vpart_info::set_install_requirements( const std::vector<std::pair<requirement_id, int>> &reqs )
1085+
{
1086+
install_reqs = reqs;
1087+
}
1088+
10741089
requirement_data vpart_info::removal_requirements() const
10751090
{
10761091
return requirement_data( removal_reqs );

src/veh_type.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,9 @@ class vpart_info
275275
/** Installation requirements for this component */
276276
requirement_data install_requirements() const;
277277

278+
// needed for setting turret requirements, possibly not for general use
279+
void set_install_requirements( const std::vector<std::pair<requirement_id, int>> &reqs );
280+
278281
/** Installation time (in moves) for this component accounting for player skills */
279282
time_duration install_time( const Character &you ) const;
280283

0 commit comments

Comments
 (0)