public static List <Traits> FilteredRaceTrait(Follower follower) { List <Traits> result = new List <Traits>(); foreach (Traits trait in follower.TraitCollection) { if (Follower.IsRaceLoverTrait(trait)) { result.Add(trait); } } return(result); }
private double SingleTraitRaceMatching(Follower follower1, Follower follower2, Follower follower3 = null) { double result = 0; foreach (Follower.Traits trait in Follower.FilteredRaceTrait(follower1)) { if (Follower.GetRaceMatchedByTrait(trait) == follower2.Race || (follower3 != null && Follower.GetRaceMatchedByTrait(trait) == follower3.Race)) { result += this.SucessPerRaceLover; this.partyBuffs.Add(trait); } } return(result); }