コード例 #1
0
        public string TextDescribe()
        {
            string returnstring = "*";

            returnstring += _Attack + ":* +";
            returnstring += Bonus;

            if (!Bonus.ToLower().Contains("hit"))
            {
                returnstring += " to hit, ";
            }


            if (Reach > 0)
            {
                returnstring += "reach " + Reach + " ft., ";
            }

            if (Reach > 0 && (RangeFar > 0 || RangeClose > 0))
            {
                returnstring += " or ";
            }

            if (RangeClose > 0)
            {
                returnstring += "range " + RangeClose;
                if (RangeFar > 0 && RangeFar != RangeClose)
                {
                    returnstring += "/" + RangeFar;
                }
                returnstring += " ft., ";
            }

            returnstring += Target;

            if (!String.IsNullOrEmpty(Target) || !String.IsNullOrWhiteSpace(Target))
            {
                if (Target[Target.Length - 1] != '.')
                {
                    returnstring += ".";
                }
            }

            returnstring += " *Hit:* ";

            if (HitDiceNumber > 0)
            {
                returnstring += HitAverageDamage + " (" + HitDiceNumber + "d" + HitDiceSize;
                if (HitDamageBonus != 0)
                {
                    if (HitDamageBonus > -1)
                    {
                        returnstring += "+";
                    }
                    returnstring += HitDamageBonus + ") " + HitDamageType.ToLower() + " damage";
                }
                returnstring += HitDamageBonus;
            }
            returnstring += ") " + HitDamageType.ToLower() + " damage";

            if (HitText.Split(' ')[0].ToLower() == "and" || HitText.Split(' ')[0].ToLower() == "or" || HitText.Split(' ')[0].ToLower() == "plus")
            {
                returnstring += " ";
            }
            else
            {
                returnstring += ". ";
            }

            returnstring += HitText;

            return(returnstring);
        }