示例#1
0
    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);
        }
    }