public void updateAsScheduled(int numUpdates) {
    super.updateAsScheduled(numUpdates) ;
    
    if (! structure.intact()) return ;
    structure.setAmbienceVal(2) ;
    
    if (type == TYPE_NURSERY && numUpdates % 10 == 0) {
      final float
        decay  = 10 * 0.1f / World.STANDARD_DAY_LENGTH,
        growth = 10 * Planet.dayValue(world) / World.GROWTH_INTERVAL ;
      for (Item seed : stocks.matches(SAMPLES)) {
        stocks.removeItem(Item.withAmount(seed, decay)) ;
        final Species s = (Species) seed.refers ;
        if (s != null) {
          final Service yield = Plantation.speciesYield(s) ;
          stocks.bumpItem(yield, growth * seed.quality, 10) ;
        }
      }
    }
  }