/// <summary> /// Create a custom race. /// </summary> /// <param name="custom_race_name"></param> /// <param name="creature_size"></param> /// <param name="creature_type"></param> /// <param name="creature_subtypes"></param> /// <param name="base_movespeed"></param> /// <param name="starting_languages"></param> /// <param name="special_abilities"></param> /// <param name="innate_senses"></param> /// <param name="defensive_traits"></param> /// <param name="offensive_traits"></param> public Race(string custom_race_name, Enum_Size_Categories creature_size, Enum_Creature_Types creature_type, List<Enum_Creature_Subtypes> creature_subtypes, int base_movespeed, List<Enum_Languages> starting_languages, List<Enum_Special_Abilities> special_abilities, List<Enum_Senses> innate_senses, List<Enum_Defensive_Racial_Traits> defensive_traits, List<Enum_Offensive_Racial_Traits> offensive_traits) : this(Enum_Races.Custom, creature_size, creature_type, creature_subtypes, base_movespeed, starting_languages, special_abilities, innate_senses, defensive_traits, offensive_traits) { this.name = custom_race_name; }
// non-custom race public Race(Enum_Races race, Enum_Size_Categories creature_size, Enum_Creature_Types creature_type, List<Enum_Creature_Subtypes> creature_subtypes, int base_movespeed, List<Enum_Languages> starting_languages, List<Enum_Special_Abilities> special_abilities, List<Enum_Senses> innate_senses, List<Enum_Defensive_Racial_Traits> defensive_traits, List<Enum_Offensive_Racial_Traits> offensive_traits) { // racial identifier this.race = race; // name if (this.race == Enum_Races.Custom) { this.name = "Custom Race"; } else { this.name = EnumHandler.ToString(race.ToString()); } // size class this.size = creature_size; // creature type this.creatureType = creature_type; // creature subtypes this.creatureSubTypes = new List<Enum_Creature_Subtypes>(); foreach (Enum_Creature_Subtypes subtype in creature_subtypes) { this.creatureSubTypes.Add(subtype); } // move speed this.baseMoveSpeed = base_movespeed; // starting languages this.startingLanguages = new List<Enum_Languages>(); foreach (Enum_Languages language in starting_languages) { this.startingLanguages.Add(language); } // special abilities this.specialAbilities = new List<Enum_Special_Abilities>(); foreach (Enum_Special_Abilities ability in special_abilities) { this.specialAbilities.Add(ability); } // senses this.senses = new List<Enum_Senses>(); foreach (Enum_Senses sense in innate_senses) { this.senses.Add(sense); } // defensive traits this.defensiveTraits = new List<Enum_Defensive_Racial_Traits>(); foreach (Enum_Defensive_Racial_Traits trait in defensive_traits) { this.defensiveTraits.Add(trait); } // offensive traits this.offensiveTraits = new List<Enum_Offensive_Racial_Traits>(); foreach (Enum_Offensive_Racial_Traits trait in offensive_traits) { this.offensiveTraits.Add(trait); } }