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)); }
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)) { }