예제 #1
0
        private string Intro(Creature creature, BimBro bimBro)
        {
            if (bimBro is null)
            {
                string inteText = creature.intelligence > 50 ? ", though you're a bit worried by how much you enjoyed the simple, brutish act." : ".";

                return("Well, maybe this will give you the musculature that you need to accomplish your goals. You pull on the tab at the top and hear the distinctive " +
                       "snap-hiss of venting, carbonating pressure. A smoky haze wafts from the opened container, smelling of hops and alcohol. You lift it to your lips, " +
                       "the cold, metallic taste of the can coming to your tongue before the first amber drops of beer roll into your waiting mouth. It tingles, but it's very, " +
                       "very good. You feel compelled to finish it as rapidly as possible, and you begin to chug it. You finish the entire container in seconds." +
                       GlobalStrings.NewParagraph() +
                       "A churning, full sensation wells up in your gut, and without thinking, you open wide to release a massive burp. It rumbles through your chest, " +
                       "startling birds into flight in the distance. Awesome! You slam the can into your forehead hard enough to smash the fragile aluminum into a flat, " +
                       "crushed disc. Damn, you feel stronger already" + inteText + GlobalStrings.NewParagraph());
            }

            else if (bimBro.bimboBody)
            {
                return("The stuff hits you like a giant cube, nearly staggering you as it begins to settle.");
            }
            else
            {
                return("You crack open the can and guzzle it in a hurry. Goddamn, this shit is the best. As you crush the can against your forehead, " +
                       "you wonder if you can find a six-pack of it somewhere?" + GlobalStrings.NewParagraph());
            }
        }
예제 #2
0
        private string Outro(Creature consumer, BimBro bimbro, bool lostFeeder)
        {
            string perks;

            if (bimbro is null)
            {
                perks = SafelyFormattedString.FormattedText("Perks Gained: BroBody, Bro Brains!", StringFormats.BOLD) + Environment.NewLine;

                if (lostFeeder)
                {
                    perks += SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                StringBuilder sb = new StringBuilder();
                if (consumer.wearingAnything)
                {
                    sb.Append("You finish admiring yourself and adjust your " + (consumer.wearingArmor ? consumer.armor.ItemName() : "clothing") +
                              " to better fit your new physique.");
                }
                else
                {
                    sb.Append("You take a moment to admire your nude body in all its manly, ripped glory, especially your manly endowment" + (consumer.cocks.Count > 1 ? "s" : "") + ".");
                }
                sb.Append(" Maybe there's some bitches around you can f**k. Hell, as good as you look, you might have other dudes wanting you to f**k them too, no h**o." + GlobalStrings.NewParagraph() + perks);
                return(sb.ToString());
            }
            else if (bimbro.bimboBody)
            {
                perks = SafelyFormattedString.FormattedText("Perks Updated: Bimbo Body => Futa Form", StringFormats.BOLD);

                if (bimbro.bimbroBrains)
                {
                    perks += SafelyFormattedString.FormattedText(", Bro Brains", StringFormats.BOLD);
                }
                perks += SafelyFormattedString.FormattedText("!", StringFormats.BOLD);

                if (lostFeeder)
                {
                    perks += Environment.NewLine + SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                return("Finally, you feel the transformation skittering to a halt, leaving you to openly roam your new chiseled and sex-ready body. "
                       + "So what if you can barely form coherent sentences anymore? A body like this does all the talking you need, you figure!" + GlobalStrings.NewParagraph() + perks);
            }
            else
            {
                perks = "";
                if (lostFeeder)
                {
                    perks += Environment.NewLine + SafelyFormattedString.FormattedText("Perks Lost: Feeder!", StringFormats.BOLD);
                }

                string dudeSex = bimbro.futaBody
                                        ? "Or studs to get f****d by, you don't really care. Hell, if it lets you f**k it or f***s you, you'd bang just about anything."
                                        : "Or dudes, if they're into that sort of thing (no h**o). Not that you'd blame them, you're a f*****g stud!";
                return("As the beer finishes its course, you're able to admire your body once more. Goddamn, you look good. Time to find a few bitches to f**k. " + dudeSex +
                       GlobalStrings.NewParagraph() + perks);
            }
        }
예제 #3
0
        private string GrewCock(Creature consumer, BimBro bimbro, bool grewBalls)
        {
            if (bimbro is null)
            {
                StringBuilder sb = new StringBuilder();

                if (consumer.wearingLowerGarment)
                {
                    sb.Append("You hear the sound of fabric straining, and it takes a moment before your realize it's coming from your " + consumer.lowerGarment.ItemName()
                              + (consumer.wearingArmor ? "Pulling open your " + consumer.armor.ItemName() + ", you" : "You ") + " start to remove your " +
                              consumer.lowerGarment.ItemName() + " and gasp as a huge, throbbing c**k flops free. ");
                }
                else
                {
                    if (consumer.wearingArmor)
                    {
                        sb.Append("You feel a sudden pressure against the lower sections of your " + consumer.armor.ItemName() + ". Pulling it aside, you");
                    }
                    else
                    {
                        sb.Append("A sudden sensation in your groin draws your eyes toward the your exposed nethers. You");
                    }
                    sb.Append(" gasp in surprise at the huge, throbbing manhood that now lies between your " + consumer.hips.ShortDescription());
                }

                sb.Append(". It rapidly stiffens to " + (Measurement.UsesMetric ? "over 25 centimeters" : "a full ten inches") +
                          ", and goddamn, it feels f*****g good. You should totally find a warm hole to f**k!");

                if (!consumer.balls.hasBalls)
                {
                    sb.Append(" Two rounded orbs drop down below, filling out a new, fleshy sac above your " + consumer.lowerBody.LongDescription() + ". Sweet! You can probably cum buckets with balls like these.");
                }

                sb.Append(GlobalStrings.NewParagraph());
                return(sb.ToString());
            }
            else if (bimbro.bimboBody)
            {
                string armorText = consumer.LowerBodyArmorTextHelper(
                    "loosen the bottoms of your " + consumer.armor.ItemName() + "and slide down your " + consumer.lowerGarment.ItemName(),
                    "loosen the bottoms of your " + consumer.armor.ItemName(),
                    "loosen your " + consumer.lowerGarment.ItemName(),
                    "look down");

                return("The beverage isn't done yet, however, and it makes it perfectly clear with a building pleasure in your groin. " +
                       "You can only cry in ecstasy and " + armorText + " just in time for a little penis to spring forth. " +
                       "You watch, enthralled, as blood quickly stiffens the shaft to its full length – then keeps on going! Before long, you have a quivering " +
                       (Measurement.UsesMetric ? "roughly 25-centimeter" : "10-inch") + " maleness, just ready to stuff into a welcoming box." + GlobalStrings.NewParagraph());
            }
            //should realistically never happen but may occur if a tf item removes your c**k and then you drink this before the perk can correct.
            else
            {
                return("As the sensation reaches your groin, the drink ensures your manly endowments are in place, growing a " +
                       (Measurement.UsesMetric ? "roughly 25-centimeter" : "10-inch") + "dick" + (grewBalls ? " and a set of balls to match." : ".") + GlobalStrings.NewParagraph());
            }
        }
예제 #4
0
        protected override string OnConsumeAttempt(Creature consumer, out bool consumeItem, out bool isBadEnd)
        {
            BimBro       bimbo  = consumer.GetPerkData <BimBro>();
            BimBroBrains brains = consumer.GetConditionalPerkData <BimBroBrains>(false);

            isBadEnd    = false;
            consumeItem = true;

            if (bimbo is null || !brains.isEnabled)
            {
                return("Your brain is functioning normally. What a waste of such an expensive drug.");
            }
예제 #5
0
        private string LengthenedCock(Creature consumer, BimBro bimbro, bool lengthened, bool grewBalls)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("As if on cue, the familiar tingling gathers in your groin");

            if (bimbro is null)
            {
                sb.Append(", and you dimly remember you have one muscle left to enlarge. If only you had the intelligence left to realize that " +
                          "your penis is not a muscle. In any event, your ");
            }
            else
            {
                sb.Append(", reaching your c**k" + (consumer.cocks.Count > 1 ? "s." : ".") + "Your ");
            }

            sb.Append(consumer.cocks[0].LongDescription() + " swells in size, ");

            if (consumer.cocks[0].girth < 2.75)
            {
                sb.Append("thickening and ");
                consumer.cocks[0].SetGirth(2.75);
            }
            sb.Append("lengthening until it's " + (Measurement.UsesMetric ? "roughly 25 centimeters long and 7 centimeters wide"
                                : "ten inches long and almost three inches wide"));

            if (bimbro is null)
            {
                sb.Append(". F**k, you're hung! ");
            }

            //Dick already big enough!BALL CHECK!
            if (consumer.balls.hasBalls)
            {
                sb.Append("Churning audibly, your " + consumer.balls.SackDescription() + " sways, but doesn't show any outward sign of change. " +
                          "Oh well, it's probably just like, getting more endurance or something.");
            }
            else
            {
                sb.Append("Two rounded orbs drop down below, filling out a new, fleshy sac above your " + consumer.lowerBody.LongDescription() +
                          ". Sweet! You can probably cum buckets with balls like these.");
                consumer.balls.GrowBalls(2, 3);
            }
            sb.Append(GlobalStrings.NewParagraph());

            return(sb.ToString());
        }
예제 #6
0
        private string ChangedBreastsText(Creature consumer, BimBro bimbro, BreastCollectionData oldBreastRows, bool stoppedLactation)
        {
            StringBuilder sb              = new StringBuilder();
            bool          removedRows     = oldBreastRows.breasts.Count > consumer.breasts.Count;
            bool          madeLastRowMale = !oldBreastRows.breasts[0].isMaleBreasts;


            if (bimbro is null)
            {
                sb.Append("A tingle starts in your " + consumer.genitals.CommonLongNippleDescription() + " before the tight buds grow warm, hot even. ");
                if (stoppedLactation)
                {
                    sb.Append("Somehow, you know that the milk you had been producing is gone, reabsorbed by your body. ");
                }

                sb.Append("They pinch in towards your core, shrinking along with your flattening " + oldBreastRows.ChestOrAllBreastsShort() +
                          ". You shudder and flex in response. Your chest isn't just shrinking, it's reforming, sculping itself into a massive pair of chiseled pecs. ");

                if (removedRows)
                {
                    sb.Append("The breasts below vanish entirely. ");
                }
                sb.Append("All too soon, your boobs are gone. Whoa!" + GlobalStrings.NewParagraph());
            }
            else
            {
                if (removedRows || madeLastRowMale)
                {
                    sb.Append("As the potent drink runs through your body, a familiar feeling enters your chest, restructuring it until you have a pair of flat, " +
                              "manly pectorals once again.");

                    if (consumer.genitals.isLactating)
                    {
                        sb.Append(" With such a manly chest now, you're sure you're no longer lactating.");
                    }
                }
                else
                {
                    sb.Append("As the potent drink runs through your body, you feel a tightness in your chest, no doubt stopping your lactation " +
                              "so your chest is as manly as possible.");
                }
            }
            return(sb.ToString());
        }
예제 #7
0
        private string BecomeRippedFlavorText(Creature consumer, BimBro bimbro)
        {
            StringBuilder sb = new StringBuilder();

            if (bimbro is null)
            {
                sb.Append("Starting at your hands, your muscles begin to contract and release, each time getting tighter, stronger, and more importantly - larger. " +
                          "The oddness travels up your arms, thickens your biceps, and broadens your shoulders. Soon, your neck and chest are as built as your arms. " +
                          "You give a few experimental flexes as your abs ");
                if (consumer.build.muscleTone >= 70)
                {
                    sb.Append("further define themselves");
                }
                else
                {
                    sb.Append("become extraordinarily visible");
                }
                sb.Append(". The strange, muscle-building changes flow down your " + consumer.lowerBody.LongDescription() + ", making them just as fit and strong " +
                          "as the rest of you. You curl your arm and kiss your massive, flexing bicep. You're awesome!" + GlobalStrings.NewParagraph());

                sb.Append("Whoah, you're f*****g ripped and strong, not at all like the puny weakling you were before. Yet, you feel oddly wool-headed. " +
                          "Your thoughts seem to be coming slower and slower, like they're plodding through a marsh. You grunt in frustration at the realization. " +
                          "Sure, you're a muscle-bound hunk now, but what good is it if you're as dumb as a box of rocks? Your muscles flex in the most beautiful way, " +
                          "so you stop and strike a pose, mesmerized by your own appearance. F**k thinking, that shit's for losers!" + GlobalStrings.NewParagraph());
            }
            else if (bimbro.bimboBody)
            {
                sb.Append(" A tingling in your arm draws your attention just in time to see your biceps and triceps swell with new-found energy, " +
                          "skin tightening until thick cords of muscle run across the whole appendage. Your other arm surges forward with identical results. " +
                          "To compensate, your shoulders and neck widen to bodybuilder-like proportions while your chest and abs tighten to a firm, statuesque physique. " +
                          "Your " + consumer.lowerBody.LongDescription() + " and glutes are the last to go, bulking up to proportions that would make any female martial artist proud. " +
                          "You feel like you could kick forever with legs this powerful.");
            }
            else
            {
                sb.Append("The feeling continues through your body, ensuring your body is in peak physical condition.");
            }

            return(sb.ToString());
        }
예제 #8
0
        //MOD NOTE: this has been changed to work like bimbo liqueur - it will remove all vaginas and restore breasts to manly defaults if
        //the futa perk is not active.
        protected override string OnConsumeAttempt(Creature consumer, out bool consumeItem, out bool isBadEnd)
        {
            isBadEnd = false;

            StringBuilder sb = new StringBuilder();
            //get our common bimbo/bro/futa perk store. Note that it may be null (if we don't have it).
            BimBro bimbro = consumer.GetPerkData <BimBro>();

            //intro text.

            //first check: we don't have any bro/futa/bimbo perks, because it's not in our perk list. do the standard faire.
            sb.Append(Intro(consumer, bimbro));

            if (bimbro?.hasBroEffect == true)
            {
                (consumer as CombatCreature)?.RecoverFatigue(33);
                (consumer as CombatCreature)?.AddHPPercent(1);
            }

            VaginaCollectionData oldVaginaCollection = consumer.genitals.allVaginas.AsReadOnlyData();

            //get taller. only occurs if the player does not already have the bro perk in any form.
            if ((bimbro is null || !bimbro.broBody) && consumer.build.heightInInches < 77)
            {
                short delta = consumer.build.SetHeight(77);

                sb.Append(GrewTaller(consumer, delta));
            }

            //(T**s b' gone)
            //Does not affect creature if they already have bimbo or futa perks.
            if (bimbro is null || bimbro.broBody)
            {
                //Note: minimum cup size respects current gender. we'll need to make the creature male (or genderless) first.
                consumer.RemoveAllVaginas();

                if (consumer.genitals.BiggestCupSize() >= consumer.genitals.smallestPossibleMaleCupSize)
                {
                    BreastCollectionData oldRows = consumer.genitals.allBreasts.AsReadOnlyData();
                    consumer.RemovePerk <Feeder>();
                    bool stoppedLactation = consumer.genitals.SetLactationTo(LactationStatus.NOT_LACTATING);

                    sb.Append(ChangedBreastsText(consumer, bimbro, oldRows, stoppedLactation));
                }
            }

            //Body tone Flavor text. No effect on stats (yet)
            sb.Append(BecomeRippedFlavorText(consumer, bimbro));



            //Dick&balls growth. Affects all.

            //(has dick less than 10 inches)
            if (consumer.hasCock)
            {
                bool grewBalls      = !consumer.hasBalls;
                bool lengthenedCock = false;

                if (consumer.cocks[0].length < 10)
                {
                    lengthenedCock = true;
                    consumer.cocks[0].SetLength(10);
                    if (consumer.cocks[0].girth < 2.75)
                    {
                        consumer.cocks[0].SetGirth(2.75);
                    }
                }

                if (!consumer.hasBalls)
                {
                    consumer.balls.GrowBalls(2, 3);
                }

                sb.Append(LengthenedCock(consumer, bimbro, lengthenedCock, grewBalls));
            }
            //(No dick)
            else
            {
                consumer.AddCock(CockType.defaultValue, 12, 2.75);
                bool grewBalls = false;
                if (!consumer.balls.hasBalls)
                {
                    grewBalls = true;
                    consumer.balls.GrowBalls(2, 3);
                }
                sb.Append(GrewCock(consumer, bimbro, grewBalls));
            }

            //(Pussy b gone)
            //Note: only applies if consumer does not have bimbo or futa perks. also note that we already silently removed them so the breasts would resize correctly.
            //so all this does is print out the data.
            if ((bimbro is null || bimbro.broBody) && oldVaginaCollection.hasVagina)
            {
                sb.Append(RemovedAllVaginas(consumer, oldVaginaCollection));
            }

            //(below max masculinity)
            if ((bimbro is null || bimbro.broBody) && consumer.femininity > 0)
            {
                FemininityData oldFem = consumer.femininity.AsReadOnlyData();
                sb.Append(consumer.ModifyFemininity(0, 100));
                sb.Append(Masculinize(consumer, bimbro is null, oldFem));
            }

            //max tone. Thickness + 50
            //both are silent.
            consumer.build.ChangeMuscleToneToward(100, 100);
            consumer.build.ChangeThicknessToward(100, 50);

            if (consumer.intelligence > 21)
            {
                consumer.SetIntelligence((byte)Math.Floor(Math.Max(consumer.intelligenceTrue / 5.0, 21)));
            }
            consumer.DeltaCreatureStats(str: 33, tou: 33, inte: -1, lib: 4, lus: 40);

            sb.Append(Outro(consumer, bimbro, consumer.perks.HasPerk <Feeder>()));

            //apply the perks. this will also correct any silent data we missed.
            if (bimbro is null)
            {
                consumer.AddPerk(new BimBro(Gender.MALE));
            }
            else
            {
                bimbro.Broify();
            }


            ////Bonus cum production!
            //sb.Append("<b>(Bro Body - Perk Gained!)" + Environment.NewLine);
            //sb.Append("(Bro Brains - Perk Gained!)</b>" + Environment.NewLine);//int to 20. max int 50)
            //if (consumer.HasPerk<Feeder>())
            //{
            //	sb.Append("<b>(Perk Lost - Feeder!)</b>" + Environment.NewLine);
            //	consumer.RemovePerk<Feeder>();
            //}

            consumeItem = true;
            return(sb.ToString());
        }
예제 #9
0
        protected override string OnConsumeAttempt(Creature consumer, out bool consumeItem, out bool isBadEnd)
        {
            isBadEnd = false;

            BimBro bimbroPerk = consumer.GetPerkData <BimBro>();

            StringBuilder sb = new StringBuilder();

            if (bimbroPerk != null && bimbroPerk.broBody)
            {
                sb.Append("You wince as the stuff hits your stomach, already feeling the insidious effects beginning to take hold. A lengthy belch escapes your lips " +
                          "as your stomach gurgles, and you giggle abashedly to yourself.");
                if (consumer.build.heightInInches < 77)
                {
                    sb.Append(" ...Did the ground just get farther away? You glance down and realize, you're growing! Like a sped-up flower sprout, you keep on getting " +
                              "taller until finally stopping around... six and a half feet, you assume. Huh. You didn't expect that to happen!");
                    consumer.build.SetHeight(77);
                }
                CupSize biggestSize = consumer.genitals.BiggestCupSize();
                if (biggestSize < CupSize.E)
                {
                    if (biggestSize == CupSize.FLAT)
                    {
                        sb.Append(" Tingling, your chest begins to itch, then swell into a pair of rounded orbs. ");
                    }
                    else
                    {
                        sb.Append(" You feel a tingling inside your breasts. ");
                    }

                    sb.Append("They quiver ominously, and you can't help but squeeze your t**s together to further appreciate the boobquake as another tremor runs through them. " +
                              "Unexpectedly, the shaking pushes your hands further apart as your t**s balloon against each other, growing rapidly against your now-sunken fingers. " +
                              "The quakes continue until calming at around an E-cup.");
                    consumer.breasts[0].SetCupSize(CupSize.E);
                }
                //(If v****a = 2tight:
                if (!consumer.hasVagina)
                {
                    string armorText = consumer.LowerBodyArmorShort(false) ?? "volumous breasts";
                    sb.Append(" Before you can even take a breath, an extremely peculiar sensation emanates from your crotch. You can't see through your " + armorText +
                              ", but you can certainly feel the v****a splitting " + (consumer.balls.hasBalls ? "from behind your testicles" : "your groin") +
                              ". Luckily, the c**t-forming doesn't yield any discomfort - on the contrary, you feel yourself falling farther into your chemically-dulled, " +
                              "libido-fueled rut.");
                    if (consumer.hips.size < 12 || consumer.butt.size < 12)
                    {
                        sb.Append(" As if realizing the necessity of womanly proportions to attract the hard cocks your body now craves, your waist pinches slightly inward " +
                                  "and your hips and butt swell. You can't help but run a hand across your newly-feminized pelvis, admiring it.");
                    }

                    consumer.AddVagina();

                    if (consumer.hips.size < 12)
                    {
                        consumer.hips.SetHipSize(12);
                    }

                    if (consumer.butt.size < 12)
                    {
                        consumer.butt.SetButtSize(12);
                    }
                }
                sb.Append(GlobalStrings.NewParagraph());
                sb.Append("A wave of numbness rolls through your features, alerting you that another change is happening. You reach up to your feel your jaw narrowing, " +
                          "becoming more... feminine? Heavy, filling lips purse in disappointment as your face takes on a very feminine cast. You're probably pretty hot now!"
                          + GlobalStrings.NewParagraph());
                if (consumer.femininity < 80)
                {
                    consumer.femininity.SetFemininity(80);
                }

                sb.Append("Your surging, absurdly potent libido surges through your body, reminding you that you need to f**k. Not just bitches, but guys too. " +
                          "Hard cocks, wet pussies, hell, you don't care. They can have both or a dozen of either. You just want to get laid and bone something, " +
                          "hopefully at the same time!");

                sb.Append(GlobalStrings.NewParagraph() + "<b>(Perks Updated: Bro Body => Futa Form");
                if (bimbroPerk.bimbroBrains)
                {
                    sb.Append(", Bro Brains => Futa Faculties");
                }
                sb.Append(")" + Environment.NewLine);

                if (!bimbroPerk.bimbroBrains)
                {
                    sb.Append("(Perks Gained: Futa Faculties)");
                }
                sb.Append("</b>" + Environment.NewLine);

                if (consumer.intelligence > 35)
                {
                    consumer.SetIntelligence(35);
                }
                if (consumer.libido < 50)
                {
                    consumer.SetLibido(50);
                }
            }
            else
            {
                sb.Append("You pop the cork from the flask and are immediately assaulted by a cloying, spiced scent that paints visions of a slutty slave-girl's " +
                          "slightly-spread folds. Wow, this is some potent stuff! Well, you knew what you were getting into when you found this bottle! You open wide " +
                          "and guzzle it down, feeling the fire of alcohol burning a path to your belly. The burning quickly fades to a pleasant warmth that makes you " +
                          "light-headed and giggly." + GlobalStrings.NewParagraph());

                if (consumer.hair.hairColor != HairFurColors.PLATINUM_BLONDE || consumer.hair.isBald || !consumer.hair.type.growsOverTime || consumer.hair.type.isFixedLength)
                {
                    sb.Append("The first change that you notice is to your " + consumer.hair.LongDescription()
                              + ". It starts with a tingling in your scalp and intensifies ");

                    if (consumer.hair.isBald)
                    {
                        sb.Append("as hair grows along your previously bald dome, rapidly thickening and lengthening.");
                    }
                    else if (!consumer.hair.type.growsOverTime || consumer.hair.type.isFixedLength)
                    {
                        sb.Append("as it begins changing, reverting to something more natural. As it does, it rapidly gets longer and heavier until it's "
                                  + (Measurement.UsesMetric ? "nearly a meter" : "several feet") + " in length.");
                    }
                    else if (consumer.hair.length < 36)
                    {
                        sb.Append("as you feel the weight of your hair growing heavier and longer.");
                    }
                    else
                    {
                        sb.Append("as your hair grows thicker and heavier.");
                    }

                    sb.Append(" You grab a lock of the silken strands and watch open-mouthed while streaks so blonde they're almost white flow down the "
                              + consumer.hair.hairColor.AsString() + " hair. It goes faster and faster until your hair has changed into perfectly bimbo-blonde, flowing locks."
                              + GlobalStrings.NewParagraph());
                }

                sb.Append("Moaning lewdly, you begin to sway your hips from side to side, putting on a show for anyone who might manage to see you.  You just feel so... sexy. " +
                          "Too sexy to hide it. Your body aches to show itself and feel the gaze of someone, anyone upon it. Mmmm, it makes you so wet! ");
                if (!consumer.hasVagina)
                {
                    consumer.AddVagina(0.25, VaginalLooseness.NORMAL, VaginalWetness.SLICK);

                    if (consumer.isQuadruped)
                    {
                        sb.Append("Wait!? Wet? You wish you could touch yourself between the " + consumer.lowerBody.LongDescription() + ", " +
                                  "but you can tell from the fluid running down your hind-legs just how soaked your new v****a is.");
                    }
                    else
                    {
                        sb.Append("Wait!? Wet? You touch yourself between the " + consumer.lowerBody.LongDescription() +
                                  " and groan when your fingers sink into a sloppy, wet c**t.");
                    }
                }
                else
                {
                    if (consumer.isQuadruped)
                    {
                        sb.Append("You wish you could sink your fingers into " + (consumer.vaginas.Count > 1 ? "either of your sloppy, wet cunts" : "your sloppy, wet c**t") +
                                  " , but as a centaur, you can't quite reach.");
                        if (consumer.vaginas[0].wetness < VaginalWetness.SLICK)
                        {
                            consumer.vaginas[0].SetVaginalWetness(VaginalWetness.SLICK);
                        }
                    }
                    else if (consumer.vaginas.Count > 1)
                    {
                        sb.Append("You alternate slipping your fingers into both of your cunts, moaning with satisfaction at how sloppy and wet they are");

                        if (consumer.genitals.SmallestVaginalWetness() < VaginalWetness.SLICK)
                        {
                            sb.Append(" now");
                        }
                        sb.Append(".");
                    }
                    else
                    {
                        sb.Append("You sink your fingers into your ");
                        if (consumer.vaginas[0].wetness < VaginalWetness.SLICK)
                        {
                            sb.Append("now ");
                        }
                        sb.Append("sloppy, wet c**t with a groan of satisfaction.");
                    }
                }
                //prevent this from messing up futa form.
                if (bimbroPerk is null || bimbroPerk.bimboBody)
                {
                    if (consumer.balls.hasBalls)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + "There's a light pinch against your [sack] that makes you gasp in surprise, followed by an exquisite tightness that makes your " +
                                  consumer.genitals.AllVaginasNoun() + " drool. Looking down, <b>you see your balls slowly receding into your body, leaving nothing behind but your puffy mons.</b>");

                        consumer.balls.RemoveAllBalls();
                    }
                    if (consumer.hasCock)
                    {
                        sb.Append(GlobalStrings.NewParagraph() + consumer.genitals.EachCockOrCocksShort(Conjugate.YOU, out bool isPlural) + (isPlural ? " seem" : " seems")
                                  + " to be responding to the liqueur in " + (isPlural ? "their" : "its") + " own way. Clenching and relaxing obscenely, " +
                                  "your genitals begin to drizzle cum onto the ground in front of you, throwing you into paroxysms of bliss. The flow of cum is steady but weak, " +
                                  "and each droplet that leaves you lets " + consumer.genitals.EachCockOrCocksShort() + " go more flaccid. Even once you're soft and little, " +
                                  "it doesn't stop. You cum your way down to nothing, a tiny droplet heralding your new, girlish groin. <b>You no longer have " +
                                  (isPlural ? "any penises" : "a penis") + "!</b>");
                    }
                }
                sb.Append(" Somehow, you feel like you could seduce anyone right now!" + GlobalStrings.NewParagraph());

                sb.Append("Another bubbly giggle bursts from your lips, which you then lick hungrily. You, like, totally want some dick to suck! " +
                          "Wow, that came out of left field. You shake your head and try to clear the unexpected, like, words from your head but it's getting kind of hard. " +
                          "Omigosh, you feel kind of like a dumb bimbo after, like, drinking that weird booze. Oh, well, it doesn't matter anyhow – you can, like, " +
                          "still stop the demons and stuff. You'll just have to show off your sexy bod until they're offering to serve you." + GlobalStrings.NewParagraph());

                sb.Append("You sigh and run one hand over your " + consumer.breasts[0].LongNippleDescription());

                consumer.breasts[0].GrowBreasts((byte)(5 + Utils.Rand(5)));

                if (consumer.breasts[0].cupSize < CupSize.EE_BIG)
                {
                    sb.Append(", surprised at how large and rounded your expanding breasts have become while fresh tit-flesh continues to spill out around your needy fingers. " +
                              "They feel so supple and soft, but when you let them go, they still sit fairly high and firm on your chest. The newer, more generous, "
                              + consumer.breasts[0].cupSize.AsText() + " cleavage has you moaning with how sensitive it is, pinching a nipple with one hand ");
                }
                else
                {
                    sb.Append(", admiring how sensitive they're getting. The big breasts start getting bigger and bigger, soft chest-flesh practically oozing out " +
                              "between your fingers as the squishy mammaries sprout like weeds, expanding well beyond any hand's ability to contain them. The supple, " +
                              consumer.breasts[0].cupSize.AsText() + " boobs still manage to sit high on your chest, almost gravity defying in their ability to generate cleavage. " +
                              "You pinch a nipple with one hand ");
                }

                consumer.IncreaseSensitivity(20);
                sb.Append("while the other toys with the juicy entrance of your folds. Mmmm, it, like, feels too good not to touch yourself, and after being worried " +
                          "about getting all dumb and stuff, you need to relax. Thinking is hard, but sex is so easy and, like, natural! You lean back and start grunting " +
                          "as you plunge four fingers inside yourself, plowing " + consumer.genitals.OneVaginaOrVaginasShort() + " like no tomorrow. " +
                          "By now, " + (consumer.vaginas.Count > 1 ? "its " : "your ") + consumer.vaginas[0].c**t.LongDescription() + " is throbbing, " +
                          "and you give it an experimental ");
                if (consumer.clits[0].length >= 3)
                {
                    sb.Append("jerk ");
                }
                else
                {
                    sb.Append("caress ");
                }

                sb.Append("that makes your " + consumer.lowerBody.LongDescription() + " give out as you cum, splattering female fluids as you convulse " +
                          "nervelessly on the ground." + GlobalStrings.NewParagraph());

                sb.Append("Though the o****m is intense, you recover a few moments later feeling refreshed, but still hot and horny. Maybe you could find a partner to f**k? " +
                          "After all, sex is, like, better with a partner or two. Or that number after two. You brush a lengthy, platinum blonde strand of hair out of your eyes " +
                          "and lick your lips - you're ready to have some fun!" + GlobalStrings.NewParagraph());

                if (consumer.hips.size < 12 || consumer.butt.size < 12)
                {
                    sb.Append("As you start to walk off in search of a sexual partner, you feel your center of balance shifting.");
                    if (consumer.hips.size < 12 && consumer.butt.size < 12)
                    {
                        sb.Append(" Your ass and hips inflate suddenly, forcing you to adopt a slow, swaying gait. You find that rolling your hips back and forth " +
                                  "comes naturally to you. You make sure to squeeze your butt-muscles and make your curvy tush jiggle as you go.");
                        consumer.butt.SetButtSize(12);
                        consumer.hips.SetHipSize(12);
                    }
                    else if (consumer.hips.size < 12)
                    {
                        sb.Append(" Your hips widen suddenly, forcing you to adopt a slow, swaying gait. You find that rolling yours hips back and forth " +
                                  "comes naturally to you, and your big, obscene ass seems to jiggle all on its own with every step you take.");
                        consumer.hips.SetHipSize(12);
                    }
                    else
                    {
                        sb.Append(" Your " + consumer.build.ButtLongDescription() + " swells dramatically, the puffy cheeks swelling with newfound weight " +
                                  "that jiggles along with each step. Clenching your glutes to make the posh cheeks jiggle a little more enticingly becomes second nature " +
                                  "to you in a few seconds.");
                        consumer.butt.SetButtSize(12);
                    }
                    sb.Append(GlobalStrings.NewParagraph());
                }
                if (consumer.build.muscleTone > 0)
                {
                    sb.Append("Like, weirdest of all, your muscles seem to be vanishing! Before your eyes, all muscle tone vanishes, leaving your body soft and gently curvy. " +
                              "You poke yourself and giggle! Everyone's totally going to want to, like, rub up against you at every opportunity. " +
                              "Your thighs are so soft you bet you could squeeze a pair of dicks to o****m without even touching your moist cunny.");
                    sb.Append(" It does get a bit harder to carry yourself around with your diminished strength, but that's, like, what big strong hunks are for anyways! " +
                              "You can just flirt until one of them volunteers to help out or something! Besides, you don't need to be strong to jerk off cocks " +
                              "or finger slutty pussies!");
                    sb.Append(GlobalStrings.NewParagraph());
                }
                if (bimbroPerk == null)
                {
                    sb.Append("<b>Perks gained : Bimbo Body, Bimbo Brains</b>" + Environment.NewLine);
                }
                else if (bimbroPerk.bimboBody && !bimbroPerk.bimbroBrains)
                {
                    sb.Append("<b>(Bimbo Body - Perk Gained!)</b>" + Environment.NewLine);
                }
                else if (!bimbroPerk.bimboBody && bimbroPerk.bimbroBrains)
                {
                    sb.Append("<b>(Bimbo Brains - Perk Gained!)</b>" + Environment.NewLine);                    //int to 20. max int 50)
                }

                if (consumer.intelligence > 21)
                {
                    consumer.SetIntelligence((byte)Math.Floor(Math.Max(consumer.intelligenceTrue / 5.0, 21)));
                }
                consumer.HaveGenericVaginalOrgasm(0, false, true);
                consumer.DeltaCreatureStats(inte: -1, lib: 4, sens: 25);
                //FULL ON BITCHFACE
                sb.Append(consumer.ModifyFemininity(100, 100));
                //Body
                //Tease/Seduce Boost
                //*boosts min lust and lust resistance)
                //*Tit size
                //Brain
                //Max int - 50
            }

            consumeItem = true;
            return(sb.ToString());
        }