| 1864 | } |
| 1865 | |
| 1866 | void Tile::canWorkerDig(const Creature& worker, std::vector<Tile*>& tiles) |
| 1867 | { |
| 1868 | Tile* myTile = worker.getPositionTile(); |
| 1869 | if (myTile == nullptr) |
| 1870 | { |
| 1871 | OD_LOG_ERR("worker=" + worker.getName() + ", pos=" + Helper::toString(worker.getPosition())); |
| 1872 | return; |
| 1873 | } |
| 1874 | |
| 1875 | for(uint32_t i = 0; i < mNeighbors.size(); ++i) |
| 1876 | { |
| 1877 | Tile* neigh = mNeighbors[i]; |
| 1878 | if(neigh->isFullTile()) |
| 1879 | continue; |
| 1880 | |
| 1881 | if(!getGameMap()->pathExists(&worker, myTile, neigh)) |
| 1882 | continue; |
| 1883 | |
| 1884 | if(i >= mNbWorkersDigging.size()) |
| 1885 | { |
| 1886 | static bool log = true; |
| 1887 | if(log) |
| 1888 | { |
| 1889 | log = false; |
| 1890 | OD_LOG_ERR("worker=" + worker.getName() + ", myTile=" + Tile::displayAsString(myTile) |
| 1891 | + ", neigh=" + Tile::displayAsString(neigh) + ", i=" + Helper::toString(i) |
| 1892 | + ", size=" + Helper::toString(mNbWorkersDigging.size())); |
| 1893 | } |
| 1894 | continue; |
| 1895 | } |
| 1896 | |
| 1897 | if(mNbWorkersDigging[i] >= ConfigManager::getSingleton().getNbWorkersDigSameFaceTile()) |
| 1898 | continue; |
| 1899 | |
| 1900 | tiles.push_back(neigh); |
| 1901 | } |
| 1902 | } |
| 1903 | |
| 1904 | bool Tile::addWorkerDigging(const Creature& worker, Tile& tile) |
| 1905 | { |
no test coverage detected