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; }