def populate(self, tile): terrain = tile.terrain xOff = tile.xOffset yOff = tile.yOffset tileSize = terrain.tileSize seed = terrain.heightMap.getHeight(yOff * -2, xOff * -2)+1 * 2147483647 dice = RandomNumGen(seed) for factory in self.factories: #num = dice.randint(0, factory.averageNumber) + dice.randint(0, factory.averageNumber) num = int((dice.random() + dice.random()) * factory.averageNumber) for iterator in range(num): x = dice.random() * tileSize y = dice.random() * tileSize if terrain.getHeight(x+xOff, y+yOff) > terrain.waterHeight: object = factory.factoryFunction(*factory.constructorParams) #logging.info( object) #logging.info( factory.factoryFunction) self.addToTile(tile, object, x, y) tile.statics.flattenStrong()
def populate(self, tile): terrain = tile.terrain xOff = tile.xOffset yOff = tile.yOffset tileSize = terrain.tileSize seed = terrain.heightMap.getHeight(yOff * -2, xOff * -2) + 1 * 2147483647 dice = RandomNumGen(seed) for factory in self.factories: #num = dice.randint(0, factory.averageNumber) + dice.randint(0, factory.averageNumber) num = int((dice.random() + dice.random()) * factory.averageNumber) for iterator in range(num): x = dice.random() * tileSize y = dice.random() * tileSize if terrain.getHeight(x + xOff, y + yOff) > terrain.waterHeight: object = factory.factoryFunction( *factory.constructorParams) #logging.info( object) #logging.info( factory.factoryFunction) self.addToTile(tile, object, x, y) tile.statics.flattenStrong()