Exemple #1
0
        public bool Matches(string text, bool nameOnly)
        {
            CultureInfo Culture = CultureInfo.InvariantCulture;

            if (nameOnly)
            {
                return(Culture.CompareInfo.IndexOf(Name ?? "", text, CompareOptions.IgnoreCase) >= 0);
            }
            return(Culture.CompareInfo.IndexOf(Name ?? "", text, CompareOptions.IgnoreCase) >= 0 ||
                   Culture.CompareInfo.IndexOf(Source ?? "", text, CompareOptions.IgnoreCase) >= 0 ||
                   Culture.CompareInfo.IndexOf(Description ?? "", text, CompareOptions.IgnoreCase) >= 0 ||
                   Culture.CompareInfo.IndexOf(Alignment ?? "", text, CompareOptions.IgnoreCase) >= 0 ||
                   Speeds.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Senses.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Resistances.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Vulnerablities.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Immunities.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Languages.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   ConditionImmunities.Exists(s => Culture.CompareInfo.IndexOf(s ?? "", text, CompareOptions.IgnoreCase) >= 0) ||
                   Descriptions.Exists(s => s.Matches(text, nameOnly)) ||
                   Traits.Exists(s => s.Matches(text, nameOnly)) ||
                   LegendaryActions.Exists(s => s.Matches(text, nameOnly)) ||
                   Actions.Exists(s => s.Matches(text, nameOnly)) ||
                   Keywords.Exists(s => Culture.CompareInfo.IndexOf(s.Name ?? "", text, CompareOptions.IgnoreCase) >= 0));
        }
        // Methods for altering data structure.
        #region
        public static void Clear(bool isNew = false)
        {
            Title = "";

            STR = 10;
            DEX = 10;
            CON = 10;
            INT = 10;
            WIS = 10;
            CHA = 10;

            Speed = "";
            AC    = "";
            HP    = "";
            CR    = Help.FindCRByIndex(0);

            CreatureAlign = "";
            CreatureName  = "";
            CreatureSize  = "";
            CreatureType  = "";

            output.Clear();
            output = new List <string>();

            DamageImmunities.Clear();
            DamageResistances.Clear();
            DamageVulnerability.Clear();
            ConditionImmunities.Clear();
            SavingThrowBonuses.Clear();
            SkillBonuses.Clear();

            if (isNew)
            {
                _Abilities.Clear();
                _Actions.Clear();
                _Legendaries.Clear();
                _Reactions.Clear();
                _advancedSpellData.Clear();
                _advancedSpells.Clear();
            }

            _Languages.Clear();
            _Senses.Clear();
        }
Exemple #3
0
        // Methods for altering data structure.
        #region
        public static void Clear(bool isNew = false)
        {
            Title = "";

            STR = 0;
            DEX = 0;
            CON = 0;
            INT = 0;
            WIS = 0;
            CHA = 0;

            Speed = "";
            AC    = "";
            HP    = "";
            CR    = Help.ChallengeRatings[0];

            CreatureAlign = "";
            CreatureName  = "";
            CreatureSize  = "";
            CreatureType  = "";

            output.Clear();
            output = new List <string>();

            DamageImmunities.Clear();
            DamageResistances.Clear();
            DamageVulnerability.Clear();
            ConditionImmunities.Clear();
            SavingThrowBonuses.Clear();
            SkillBonuses.Clear();

            if (isNew)
            {
                _Abilities.Clear();
                _Attacks.Clear();
                _Legendaries.Clear();
            }

            _Languages.Clear();
            _Senses.Clear();
        }
 public static void AddConditionImmunity(string immunity)
 {
     ConditionImmunities.Add(immunity);
 }