private void checkMeltdownAdvance() {
    if ((! structure.intact()) && meltdown == 0) return ;
    float chance = meltdownChance() / World.STANDARD_DAY_LENGTH ;
    chance += meltdown / 10f ;
    if (isManned()) chance /= 2 ;
    if (Rand.num() < chance) {
      final float melt = 0.1f * Rand.num() ;
      meltdown += melt ;
      if (verbose) I.say("  MELTDOWN LEVEL: "+meltdown) ;
      if (meltdown >= 1) performMeltdown() ;
      final float damage = melt * meltdown * 2 * Rand.num() ;
      structure.takeDamage(damage) ;
      structure.setBurning(true) ;
    }
  }