public void affectPhyStats(Physical host, PhyStats stats) { super.affectPhyStats(host, stats); if ((code < 0) && (text().length() > 0)) { for (int i = 0; i < Climate.WEATHER_DESCS.length; i++) if (Climate.WEATHER_DESCS[i].equalsIgnoreCase(text())) code = i; } if (code >= 0) { if (affected instanceof Room) { ((Room) affected).getArea().getClimateObj().setCurrentWeatherType(code); ((Room) affected).getArea().getClimateObj().setNextWeatherType(code); } else if (affected instanceof Area) { ((Area) affected).getClimateObj().setCurrentWeatherType(code); ((Area) affected).getClimateObj().setNextWeatherType(code); } } }