| 429 | |
| 430 | template <typename TileSectorArray> |
| 431 | float windLevel(shared_ptr<TileSectorArray> const& tileSectorArray, Vec2F const& position, float weatherWindLevel) { |
| 432 | auto const& tile = tileSectorArray->tile(Vec2I::floor(position)); |
| 433 | if (tile.material(TileLayer::Background) != EmptyMaterialId) |
| 434 | return 0.0f; |
| 435 | if (tile.material(TileLayer::Foreground) != EmptyMaterialId) |
| 436 | return 0.0f; |
| 437 | return weatherWindLevel; |
| 438 | } |
| 439 | |
| 440 | template <typename TileSectorArray> |
| 441 | bool breathable(World const* world, shared_ptr<TileSectorArray> const& tileSectorArray, HashMap<DungeonId, bool> const& breathableMap, |