Пример #1
0
        public string RemovedExtraBreastRowGenericText(BreastData removedBreastRow)
        {
            Creature target = CreatureStore.GetCreatureClean(creatureID);
            string   skinText;
            bool     plural;

            if (target is null)
            {
                skinText = new BodyData(Guid.Empty).ShortEpidermisDescription(out plural);
            }
            else
            {
                skinText = target.body.ShortEpidermisDescription(out plural);
            }

            return($"You stumble back when your center of balance shifts, and though you adjust before you can fall over, you're left to watch in awe as your bottom-most " +
                   $"{removedBreastRow.ShortDescription()} shrink down, disappearing completely into your {(breastRows.Count > 2 ? "abdomen" : "chest")}. The " +
                   $"{removedBreastRow.ShortNippleDescription()} even fade until nothing but {skinText} {(plural ? "remain" : "remains")}. " +
                   SafelyFormattedString.FormattedText("You've lost a row of breasts!", StringFormats.BOLD));
        }
Пример #2
0
        public string GenericChangeOneRowCupSizeText(BreastData oldData, bool treatMissingAsRemoved = true, bool displayRemovedText = true)
        {
            if (oldData == null)
            {
                throw new ArgumentNullException(nameof(oldData));
            }

            if (creatureID != oldData.creatureID)
            {
                return("");
            }

            StringBuilder sb = new StringBuilder();

            Breasts newValue = breastRows.FirstOrDefault(x => x.creatureID == oldData.creatureID && x.collectionID == oldData.collectionID);

            if (newValue is null && !treatMissingAsRemoved)
            {
                return("");
            }

            double deltaAmount = !(newValue is null) ? newValue.cupSize - oldData.cupSize : -(byte)oldData.cupSize;

            if (deltaAmount == 0)
            {
                return("");
            }
            else if (deltaAmount >= 4)
            {
                string row = "";
                if (breastRows.Count > 1 && oldData.currBreastRowIndex == 0)
                {
                    row = "top-most row of";
                }
                else if (breastRows.Count > 1)
                {
                    row = Utils.NumberAsPlace(oldData.currBreastRowIndex + 1) + "row of";
                }

                sb.Append("You drop to your knees from a massive change in your body's center of gravity. Your " + row + oldData.LongDescription() + " tingle strongly, " +
                          "growing disturbingly large.");
            }
            else if (deltaAmount > 2)
            {
                string row = "";

                if (breastRows.Count > 1 && oldData.currBreastRowIndex == 0)
                {
                    row = "top-most row of";
                }
                else if (breastRows.Count > 1)
                {
                    row = Utils.NumberAsPlace(oldData.currBreastRowIndex + 1) + "row of";
                }

                sb.Append("You stagger as your chest gets much heavier. Looking down, you watch with curiosity as your " + row + oldData.LongDescription() + " expand significantly.");
            }
            else if (deltaAmount > 0)
            {
                string intro;
                if (breastRows.Count == 1)
                {
                    intro = "Your " + oldData.LongDescription();
                }
                else                 //if (breastRows.Count > 1)
                {
                    string row = oldData.currBreastRowIndex == 0 ? "top-most" : Utils.NumberAsPlace(oldData.currBreastRowIndex + 1);

                    intro = "Your " + row + " of " + oldData.LongDescription();

                    sb.Append("One of your " + AllBreastsShortDescription() + " grows slightly longer.");
                }

                sb.Append(intro + " jiggles with added weight as it expands, growing a bit larger.");
            }
            else if (!(newValue is null))
            {
            }