engine/generators/crypts/source/CryptGenerator.cpp
// Generate the crypt features:
// - Either:
//     - a central room, or
//     - a long series of triple-doored walls (can't give the player an
//       automatic chokepoint!)
//     - a long series of pillars
Generate the crypt features:
Either:
a central room, or
a long series of triple-doored walls (can't give the player an
automatic chokepoint!)
a long series of pillars
Generate the crypt features : Either : a central room or a long series of triple - doored walls ( can ' t give the player an automatic chokepoint! ) a long series of pillars
void CryptGenerator::generate_crypt_features(const std::tuple<Coordinate, Coordinate, Coordinate>& loc_details, MapPtr map)
{
  bool perimeter_skeletons = RNG::percent_chance(50);
  if (perimeter_skeletons)
  {
    generate_perimeter_skeletons(loc_details, map);
  }
  CryptLayoutType layout_type = static_cast<CryptLayoutType>(RNG::range(static_cast<int>(CryptLayoutType::CRYPT_LAYOUT_PILLARS), static_cast<int>(CryptLayoutType::CRYPT_LAYOUT_LAST)-1));
  ICryptLayoutStrategyPtr layout_strategy = CryptLayoutStrategyFactory::create_layout_strategy(layout_type);
  if (layout_strategy != nullptr)
  {
    layout_strategy->create_layout(map, loc_details);
  }
}
void CryptGenerator :: generate_crypt_features ( const std :: tuple < Coordinate , Coordinate , Coordinate > & loc_details , MapPtr map ) { bool perimeter_skeletons = RNG :: percent_chance ( 50 ) ; if ( perimeter_skeletons ) { generate_perimeter_skeletons ( loc_details , map ) ; } CryptLayoutType layout_type = static_cast < CryptLayoutType > ( RNG :: range ( static_cast < int > ( CryptLayoutType :: CRYPT_LAYOUT_PILLARS ) , static_cast < int > ( CryptLayoutType :: CRYPT_LAYOUT_LAST ) - 1 ) ) ; ICryptLayoutStrategyPtr layout_strategy = CryptLayoutStrategyFactory :: create_layout_strategy ( layout_type ) ; if ( layout_strategy != nullptr ) { layout_strategy -> create_layout ( map , loc_details ) ; } }
Generate the crypt features:
 Either:
 a central room, or
 a long series of triple-doored walls (can't give the player an
automatic chokepoint!)
Generate the crypt features : Either : a central room or a long series of triple - doored walls ( can ' t give the player an automatic chokepoint! )
// First, check to see if skeletons should be generated along the perimeter.