Beispiel #1
0
 private AlignmentDistribution ParseAlignment(MonsterRaw raw, List <string> errors)
 {
     foreach (Morality morality in Enum.GetValues(typeof(Morality)))
     {
         foreach (Order order in Enum.GetValues(typeof(Order)))
         {
             if (raw.Alignment.ToLower().Contains($"{order} {morality}".ToLower()))
             {
                 return(new AlignmentDistribution(new Alignment(morality, order), raw.Alignment));
             }
         }
         if (raw.Alignment.ToLower().Contains("any " + morality.ToString().ToLower() + "alignment"))
         {
             return(AlignmentDistribution.Any(raw.Alignment, morality));
         }
     }
     foreach (Morality morality in Enum.GetValues(typeof(Morality)))
     {
         if (raw.Alignment.ToLower().Contains("any " + morality.ToString().ToLower() + "alignment"))
         {
             return(AlignmentDistribution.Any(raw.Alignment, morality));
         }
     }
     if (raw.Alignment.Contains("neutral"))
     {
         return(new AlignmentDistribution(new Alignment(Morality.Neutral, Order.Neutral), raw.Alignment));
     }
     if (raw.Alignment.Contains("any"))
     {
         return(AlignmentDistribution.Any(raw.Alignment));
     }
     if (raw.Alignment.Contains("unaligned"))
     {
         return(AlignmentDistribution.Unaligned(raw.Alignment));
     }
     errors.Add("Could not find Alignment");
     return(null);
 }
 private string RenderAlignment(AlignmentDistribution alignment)
 {
     return(alignment.Description);
 }