private void RefundStats(Critter critter) { foreach(StatEffect item in StatBoons) { if (item == StatEffect.Offense) { critter.DecreaseOffense(); } if (item == StatEffect.Defense) { critter.DecreaseDefense(); } if (item == StatEffect.Speed) { critter.DecreaseSpeed(); } if (item == StatEffect.Sense) { critter.DecreaseSense(); } if (item == StatEffect.Sneak) { critter.DecreaseSneak(); } if (item == StatEffect.Size) { critter.DecreaseSize(); } if (item == StatEffect.BreedRate) { critter.DecreaseBreedRate(); } if (item == StatEffect.Metabolism) { critter.DecreaseMetabolism(); } if (item == StatEffect.Slot) { critter.DeactivateSlot(slot); } if (item == StatEffect.EVO) { critter.DecreaseEvoMod(); } if (item == StatEffect.MIGRATE) { critter.DecreaseMigrateMod(); } if (item == StatEffect.EFFICIENCY) { critter.DecreaseEfficiency(); } } foreach(StatEffect item in StatBanes) { if (item == StatEffect.Offense) { critter.IncreaseOffense(); } if (item == StatEffect.Defense) { critter.IncreaseDefense(); } if (item == StatEffect.Speed) { critter.IncreaseSpeed(); } if (item == StatEffect.Sense) { critter.IncreaseSense(); } if (item == StatEffect.Sneak) { critter.IncreaseSneak(); } if (item == StatEffect.Size) { critter.IncreaseSize(); } if (item == StatEffect.BreedRate) { critter.IncreaseBreedRate(); } if (item == StatEffect.Metabolism) { critter.IncreaseMetabolism(); } if (item == StatEffect.Slot) { } if (item == StatEffect.EVO) { critter.IncreaseEvoMod(); } if (item == StatEffect.MIGRATE) { critter.IncreaseMigrateMod(); } if (item == StatEffect.EFFICIENCY) { critter.IncreaseEfficiency(); } } foreach (BiomeAdaptition item in BiomeBoons) { if (item == BiomeAdaptition.ARCTIC) { critter.DecreaseBiomePref(BiomeAdaptition.ARCTIC); } if (item == BiomeAdaptition.ARID) { critter.DecreaseBiomePref(BiomeAdaptition.ARID); } if (item == BiomeAdaptition.FRESHWATER) { critter.DecreaseBiomePref(BiomeAdaptition.FRESHWATER); } if (item == BiomeAdaptition.PLAINS) { critter.DecreaseBiomePref(BiomeAdaptition.PLAINS); } if (item == BiomeAdaptition.SALTWATER) { critter.DecreaseBiomePref(BiomeAdaptition.SALTWATER); } if (item == BiomeAdaptition.WOODLAND) { critter.DecreaseBiomePref(BiomeAdaptition.WOODLAND); } } foreach (BiomeAdaptition item in BiomeBanes) { if (item == BiomeAdaptition.ARCTIC) { critter.IncreaseBiomePref(BiomeAdaptition.ARCTIC); } if (item == BiomeAdaptition.ARID) { critter.IncreaseBiomePref(BiomeAdaptition.ARID); } if (item == BiomeAdaptition.FRESHWATER) { critter.IncreaseBiomePref(BiomeAdaptition.FRESHWATER); } if (item == BiomeAdaptition.PLAINS) { critter.IncreaseBiomePref(BiomeAdaptition.PLAINS); } if (item == BiomeAdaptition.SALTWATER) { critter.IncreaseBiomePref(BiomeAdaptition.SALTWATER); } if (item == BiomeAdaptition.WOODLAND) { critter.IncreaseBiomePref(BiomeAdaptition.WOODLAND); } } foreach (statSliderChange item in ClimateBoons) { if (item == statSliderChange.FOCUS) { critter.DecreaseClimateFocus(); } if (item == statSliderChange.RANGE) { critter.DecreaseClimateRange(); } if (item == statSliderChange.PREF) { critter.DecreaseClimatePref(); } } foreach (statSliderChange item in ClimateBanes) { if (item == statSliderChange.FOCUS) { critter.IncreaseClimateFocus(); } if (item == statSliderChange.RANGE) { critter.IncreaseClimateRange(); } if (item == statSliderChange.PREF) { critter.IncreaseClimatePref(); } } foreach (GeoAdaptation item in GeoBoons) { if(item == GeoAdaptation.SaltWater) { critter.DecreaseGeoPref(GeoAdaptation.SaltWater); } if(item == GeoAdaptation.Islands) { critter.DecreaseGeoPref(GeoAdaptation.Islands); } if(item == GeoAdaptation.Flat) { critter.DecreaseGeoPref(GeoAdaptation.Flat); } if(item == GeoAdaptation.Hills) { critter.DecreaseGeoPref(GeoAdaptation.Hills); } if(item == GeoAdaptation.Mountains) { critter.DecreaseGeoPref(GeoAdaptation.Mountains); } } foreach(GeoAdaptation item in GeoBanes) { if(item == GeoAdaptation.SaltWater) { critter.IncreaseGeoPref(GeoAdaptation.SaltWater); } if(item == GeoAdaptation.Islands) { critter.IncreaseGeoPref(GeoAdaptation.Islands); } if(item == GeoAdaptation.Flat) { critter.IncreaseGeoPref(GeoAdaptation.Flat); } if(item == GeoAdaptation.Hills) { critter.IncreaseGeoPref(GeoAdaptation.Hills); } if(item == GeoAdaptation.Mountains) { critter.IncreaseGeoPref(GeoAdaptation.Mountains); } } foreach (statSliderChange item in TempBoons) { if (item == statSliderChange.FOCUS) { critter.DecreaseTempFocus(); } if (item == statSliderChange.RANGE) { critter.DecreaseTempRange(); } if (item == statSliderChange.PREF) { critter.DecreaseTempPref(); } } foreach (statSliderChange item in TempBanes) { if (item == statSliderChange.FOCUS) { critter.IncreaseTempFocus(); } if (item == statSliderChange.RANGE) { critter.IncreaseTempRange(); } if (item == statSliderChange.PREF) { critter.IncreaseTempPref(); } } foreach (Multiplier item in multipliers) { critter.RemoveMultiplier(item); } foreach (LocalEventController.localEvent item in LocalEventBoons) { critter.DecreaseLocalEventSurvival((int)item); } foreach (LocalEventController.localEvent item in LocalEventBanes) { critter.IncreaseLocalEventSurvival((int)item); } foreach (restriction item in restrictions){ critter.RemoveRestriction(item); } }