Example #1
0
    private float CalculateEquipScore(Critter critter)
    {
        float addition = 0;
        float score = 0;

        foreach(Adaptation.specialEffect item in specials){
            if(item == specialEffect.CARNO){
                addition = critter.FeedingCapacityCheck(Critter.dietType.CARNO);
                score += addition;
            }
            if(item == specialEffect.FISH){
                addition = critter.FeedingCapacityCheck(Critter.dietType.FISH);
                score += addition;
            }
            if(item == specialEffect.HERB){
                addition = critter.FeedingCapacityCheck(Critter.dietType.HERB);
                score += addition;
            }
            if(item == specialEffect.INSECT){
                addition = critter.FeedingCapacityCheck(Critter.dietType.INSECT);
                score += addition;
            }
            if(item == specialEffect.SCAVANGER){
                addition = critter.FeedingCapacityCheck(Critter.dietType.SCAV);
                score += addition;
            }
            if(item == specialEffect.AMPHIBIOUS){
                addition = critter.LocomotionCompatabilityCheck(Critter.locomotionType.AMPHIBIOUS);
                score += addition;
            }
            if(item == specialEffect.AQUATIC){
                addition = critter.LocomotionCompatabilityCheck(Critter.locomotionType.AQUATIC);
                score += addition;
            }
            if(item == specialEffect.FLYER){
                addition = critter.LocomotionCompatabilityCheck(Critter.locomotionType.AVIAN);
                score += addition;
            }
            if(item == specialEffect.TERRESTRIAL){
                addition = critter.LocomotionCompatabilityCheck(Critter.locomotionType.TERRESTRIAL);
                score += addition;
            }
            //print (critter.name + " viewed " + this.name + " as a " + item + " evoType. Value = " + addition + ". Total = " + score + "\r\n");
        }

        foreach (Multiplier item in multipliers)
        {
            StatEffect stat = TranslateMultiplayerToStat(item);

            int val = critter.GetPrimaryStatValue(stat);

            score += (.2f * val);
        }

        return score;
    }