* Place a random tree on a random tile. * @param rainforest If set the random tile must be in a rainforest zone. */
| 967 | * @param rainforest If set the random tile must be in a rainforest zone. |
| 968 | */ |
| 969 | static void PlantRandomTree(bool rainforest) |
| 970 | { |
| 971 | uint32_t r = Random(); |
| 972 | TileIndex tile = RandomTileSeed(r); |
| 973 | |
| 974 | if (rainforest && GetTropicZone(tile) != TROPICZONE_RAINFOREST) return; |
| 975 | if (!CanPlantTreesOnTile(tile, false)) return; |
| 976 | |
| 977 | TreeType tree = GetRandomTreeType(tile, GB(r, 24, 8)); |
| 978 | if (tree == TREE_INVALID) return; |
| 979 | |
| 980 | PlantTreesOnTile(tile, tree, 0, TreeGrowthStage::Growing1); |
| 981 | } |
| 982 | |
| 983 | void OnTick_Trees() |
| 984 | { |
no test coverage detected