private static void ParseCreature(string[] parts, StringBuilder sb, WorldProvider provider) { // Columns // Name,Creature Type,CreatureClass,Level,Min Attribute,Max Attribute,Gender,Race,ImageUri,DroppableItems if (parts != null && parts.Length > 0) { // Changes for Perenthia 11/23/2008 string name = parts[0]; string type = parts[1]; string group = parts[2]; string level = parts[3]; string minAttr = parts[4]; string maxAttr = parts[5]; string gender = parts[6]; string race = parts[7]; string imageUri = parts[8]; string drpItms = parts[9]; string formattedName = FormatName(name); List <string> dropItems = new List <string>(); if (!String.IsNullOrEmpty(drpItms.Replace("\"", "").Trim())) { dropItems.AddRange(drpItms.Replace("\"", "").Split(',').Select(i => i.Trim())); } Type t = Type.GetType(String.Concat("Perenthia.", group, "Creature")); Creature creature = provider.GetTemplate(t, name) as Creature; if (creature == null) { creature = Activator.CreateInstance(t) as Creature; } if (creature != null) { creature.Properties.IsTemplateCollection = true; creature.World = provider.World; creature.TemplateID = 0; creature.Name = name; creature.Race = race; creature.ImageUri = imageUri; creature.MobileType = (MobileTypes)Enum.Parse(typeof(MobileTypes), type, true); creature.Level = Convert.ToInt32(level); creature.AttributeMinimum = Convert.ToInt32(minAttr); creature.AttributeMaximum = Convert.ToInt32(maxAttr); creature.Skills.AddRange(GetSkillGroup(group).Skills); creature.GenerateStats(); Gender g = (Gender)Enum.Parse(typeof(Gender), gender, true); if (g == Gender.None) { creature.Gender = (Gender)Dice.Random(1, 2); } else { creature.Gender = g; } foreach (var item in dropItems) { creature.AddDroppableItem(item); } provider.SaveActor <Creature>(creature); } //sb.AppendFormat("\t\t#region {0}", formattedName).AppendLine(); //sb.AppendFormat("\t\tpublic static Creature {0}", formattedName).AppendLine(); //sb.Append("\t\t{").AppendLine(); //sb.Append("\t\t\tget { "); //sb.AppendFormat("return new Creature(\"{0}\", \"{1}\", {2}, {3}, {4}, MobileTypes.{5}, new {6}SkillGroup()); ", // name, String.Empty, level, minAttr, maxAttr, type, group); //sb.Append("}").AppendLine(); //sb.Append("\t\t}").AppendLine(); //sb.Append("\t\t#endregion").AppendLine().AppendLine(); } }